我有几个使用VS Community 2013和PTVS 2.1创建的Python解决方案。 PyLint在所有这些项目中都运行良好。
我最近安装了VS Community 2015和PTVS 2.2。我可以在VS 2015中打开并运行这些VS 2013项目,没有任何问题。但是,当我在VS 2015中运行PyLint时,我得到这样的错误(来自VS Output窗口):
No config file found, using default configuration
************* Module spamreport.py
spamreport.py(1,0): warning F0001: No module named spamreport.py [F:fatal]
************* Module spamscan.py
spamscan.py(1,0): warning F0001: No module named spamscan.py [F:fatal]
************* Module spam_logger.py
spam_logger.py(1,0): warning F0001: No module named spam_logger.py [F:fatal]
************* Module utils.py
utils.py(1,0): warning F0001: No module named py in C:\Python34\lib\site-packages\pylint\checkers/['utils', 'py'] [F:fatal]
我可以从控制台运行PyLint没问题。
D:\Users\Clayton\Code\Python\disqus>pylint spamscan.py
Report
======
131 statements analysed.
...
但是,如果我从错误的目录运行PyLint,我会收到类似的错误:
D:\Users\Clayton\Code\Python>pylint spamscan.py
************* Module spamscan.py
F: 1, 0: No module named spamscan.py (fatal)
这似乎表明VS 2015没有使用正确的工作目录。我检查了项目属性,项目文件夹和项目主页条目是正确的。我尝试从头开始重建解决方案作为VS 2015解决方案,但结果是一样的。
VS Community 2015和PTVS 2.2都是在几天前发布的。其他人遇到这个问题?任何想法如何解决这个问题?
答案 0 :(得分:2)
我想你可能会遇到this change。基本上,它曾经使用2.1中的工作目录,但现在它只使用项目文件目录(为了统一,因为这也是Intellisense用作root的工具)。
请注意,您可以通过编辑.targets来调整Pylint调用方式的大多数方面。查看isDivisableRec
(根据您的系统需要进行调整),然后搜索" Pylint"内。您将看到如何指定目录。
我认为在下一个版本中更改它是一个好主意,以便它使用自己的MSBuild属性,类似20
,默认情况下设置为20
,但仅限于你没有在项目文件中明确地设置它。通过这种方式,您可以将其覆盖为您想要的任何内容,而无需使用全局.targets。随意在GitHub上提交。