【问题标题】:Flake8 failing to detect syntax issues that can be detect by pyflakesFlake8 无法检测到 pyflakes 可以检测到的语法问题
【发布时间】:2017-05-24 16:49:15
【问题描述】:

我正在尝试让 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

【问题讨论】:

    标签: flake8 pyflakes


    【解决方案1】:

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

    如果我这样做,请在ex.py 中使用上面的文件内容:

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

    考虑到这一点,您的配置似乎是这里的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-19
      • 2017-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多