Python PyDev中的PyLint仅分析最顶层项目目录中的文件
我的项目目录类似于Python PyDev中的PyLint仅分析最顶层项目目录中的文件,python,ide,pydev,pylint,Python,Ide,Pydev,Pylint,我的项目目录类似于 src ProjectName Package1 __init__.py Module1.py Module2.py Package2 __init__.py Module3.py Moduel4.py __init__.py main.py se
src
ProjectName
Package1
__init__.py
Module1.py
Module2.py
Package2
__init__.py
Module3.py
Moduel4.py
__init__.py
main.py
setup.py
当我执行Project->Clean…(项目->清理…)时,PyLint会运行,但仅在最上面的包中的三个文件上运行:\uuuuu init\uuuuu.py、main.py和setup.py
我已经进入了Project->Properties->PyDev-PYTHONPATH,所有的源文件夹都明确地列在那里,所以我不确定为什么大多数文件夹没有被分析
此外,PyDev似乎没有解析PyLint输出,因为控制台中显示的错误和警告不在“Problems”输出选项卡中,也不在编辑器页边距中。这让我觉得这可能是一个版本/回归问题,因为它是针对那个问题的。我可以试试PyLint的旧版本,看看是否有效
我使用的是EclipseHelios、Pydev2.2.1、PyLint 0.25.1和Python2.7。这可能是由于PyLint的输出格式最近发生了变化,现在输出列偏移量。您应该联系pydev维护人员报告此情况 我已经进入了Project->Properties->PyDev-PYTHONPATH,所有的源文件夹都列在那里 如果您的意思是您的项目中有子文件夹(
Package1
和Package2
),那么就没有必要了。您应该只有项目的主文件夹
我使用Pydev2.3.0,在清理项目时,所有项目的文件都由Pylint处理。
PyDev 2.2.2中修复了解析Pylint的输出的问题。请参阅我的答案。Pylint配置(窗口>首选项>PyDev>Pylint)具有“Pylint的最大进程数”,因此,它只能同时对“n”个文件运行分析(因为一次生成太多进程可能会使您的机器停止)
因此,您可以在分析时提高这个数字,它应该一次分析更多的文件(我建议在分析时提高这个数字,然后再降低这个数字,因为您通常不希望一次运行太多进程)
至于输出,可能是PyLint更改了其格式(如果您认为是这样的话,请在pydev sourceforge tracker中报告这是一个bug)。我刚刚发现,如果您尝试lint的文件不是有效的python模块名,那么PyLint将(无声地)不会在其上运行。例如,如果在projects-bin目录中有一个名为
do-thing
的可执行python脚本,它将不会被lint。重命名文件dothing
,它会突然工作(无.py
)需要扩展名。增加进程数修复了文件问题。PyLint网站目前正在进行维护,因此一旦它恢复,我将不得不尝试降级。结果证明我不需要降级PyLint,我需要更新PyDev。我关闭了Eclipse的更新检测,所以我没有意识到有一个新版本发布了。Pydev2.3和PyLint 0.25.1没有问题。