Flake8无法检测pyflakes可以检测到的语法问题

时间:2017-05-24 16:49:16

标签: flake8 pyflakes

我正在努力让Emacs' flycheck与python语法错误检查很好地协同工作。默认情况下它使用flake8,但我注意到最近flake8只报告样式问题,它应该产生与pyflakes相同的结果。

作为一个例子,我有一个简单的python脚本,模块名称错误。

$ cat so.py

import os

print(os.path)

op.path()

$ flake8 so.py的输出为空,而pyflakes'输出

 $ pyflakes so.py

 so.py:5: undefined name 'op'

我的flake8配置,如果重要:

[flake8]
max-line-length = 96
ignore = E123,E701,E126,F821

如果重要的话,我正在使用Linux。

Flake8版本:版本3.3.0 mccabe:0.6.1,pycodestyle:2.3.1,pyflakes:1.5.0

Pyflakes版本:1.5.0

1 个答案:

答案 0 :(得分:1)

当您想知道为什么Flake8没有报告您认为应该提供的内容时,最好的方法是使用--isolated标记。

如果我这样做,ex.py上面的文件内容为:

❯❯❯ flake8 --isolated ex.py
ex.py:5:1: F821 undefined name 'op'

考虑到这一点,看起来您的配置确实存在问题。