【问题标题】:PyLint in PyDev only analysing files in top-most project directoryPyDev 中的 PyLint 仅分析最顶层项目目录中的文件
【发布时间】:2012-01-24 06:34:07
【问题描述】:

我的项目目录是这样的

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 会运行,但只在最上面的包中的三个文件上运行:__init__.py、main.py 和 setup.py。

我进入了 Project->Properties->PyDev - PYTHONPATH,所有的源文件夹肯定都列在那里,所以我不知道为什么大部分没有被分析。

此外,与this question 一样,PyDev 似乎没有解析 PyLint 输出,因为控制台中显示的错误和警告不在“问题”输出选项卡或编辑器边距中。这让我认为这可能是一个版本/回归问题,就像那个问题一样。我可能会尝试旧版本的 PyLint,看看是否可行。

我正在使用 Eclipse Helios、PyDev 2.2.1、PyLint 0.25.1 和 Python 2.7。

【问题讨论】:

    标签: python ide pydev pylint


    【解决方案1】:

    PyLint 配置(窗口 > 首选项 > pydev > pylint)具有“PyLint 的最大进程数”,因此,它只会同时对“n”个文件运行分析(因为一次产生太多进程可能让你的机器停下来)。

    因此,您可以提高该数字以进行分析,并且它应该一次分析更多文件(我建议您提高该数字以进行该分析,然后再次减少该数字,因为您通常不希望运行太多进程立刻)。

    至于输出,可能是 PyLint 改变了它的格式(如果您认为是这种情况,请将其报告为 pydev sourceforge 跟踪器中的错误)。

    【讨论】:

    • 增加进程数修复了文件问题。 PyLint 网站目前因维护而停机,所以一旦它恢复,我将不得不尝试降级。
    • 原来我不需要降级 PyLint,我需要更新 PyDev。我关闭了 Eclipse 的更新检测,所以我没有意识到有一个新版本出来了。 PyDev 2.3 和 PyLint 0.25.1 没有问题。
    【解决方案2】:

    这可能是由于 Pylint 的输出格式最近发生了变化,该格式现在打印列偏移量。您应该联系报告此问题的 pydev 维护人员。

    【讨论】:

      【解决方案3】:

      我已经进入 Project->Properties->PyDev - PYTHONPATH,所有的源文件夹肯定都列在那里。

      如果您的意思是您的项目中有子文件夹(Package1Package2),则没有必要。您应该只有项目的主文件夹。

      我使用 PyDev 2.3.0,在清理项目时,所有项目的文件都由 Pylint 处理。 PyDev 2.2.2 中修复了解析 Pylint 输出的问题,请参阅我的回答 here

      【讨论】:

        【解决方案4】:

        我刚刚发现,如果您尝试 lint 的文件不是有效的 python 模块名称,那么 pylint 将(默默地)不会在其上运行。例如,如果您在项目的 bin 目录中有一个名为 do-thing 的可执行 python 脚本,则根本不会对其进行 linted。将文件重命名为dothing,然后它会突然起作用(不需要.py)扩展名。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-13
          • 2019-11-18
          • 1970-01-01
          • 1970-01-01
          • 2020-05-23
          • 2011-03-25
          相关资源
          最近更新 更多