问题标签 [pyflakes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6089 浏览

python - pep8 警告 8 空格缩进

这段代码:

违反PEP 0008,其中规定

每个缩进级别使用 4 个空格。

但是 , 或 命令都没有pep8警告pyflakesflake8

我怎样才能让他们中的一个抱怨这个 unpythonic 代码?

0 投票
1 回答
5523 浏览

python - flake8 没有报告太长的行

如果我创建一个test.py包含以下格式错误的内容的文件:

并从命令行运行flake8文件,如下所示:

只报两个错误:

max-line-length未报告第二行的违规行为。

完全是偶然的(我正在测试是否会尊重任何命令选项),我发现如果我添加一个这样的忽略选项:

然后报行长度违例

我在 Ubuntu 16.04 上,我的flake8版本信息是:

当我在 Emacs Stack Exchange 站点上发布一个相关问题时(我最初认为问题出在 Emacs 包上),那里的一位用户指出 flake82.5.4 需要较低版本的pyflakes. 但是,flake8通过安装aptpip自动安装该特定版本pyflakes作为依赖项,我无法获得旧版本来pyflakes查看是否可以解决问题(也许这完全是另一个问题)。

我在这里做错了什么,还是这是一个错误?

0 投票
1 回答
13717 浏览

python - 当gettext安装了_时,如何避免flake8的“F821 undefined name '_'”?

问题概述:

在我项目的主脚本中,gettext安装_()在其他模块中用于翻译的函数(如 in print(_('Something to translate')))。

文档所述

_() 函数 [is] 安装在 Python 的内置命名空间中,因此可以在应用程序的所有模块中轻松访问。

所以,一切运行良好。

唯一的问题flake8显示错误(实际上由 PyFlakes 返回):

这是正常的,因为_main_script.py 和 lib.py 中确实没有定义。

重现问题的简单结构:

其中 lib.py 包含以下内容:

和 main_script.py 这个:

myapp.po 包含:

(由 poedit 编译以生成 mo 文件)。

如上所述,主脚本确实有效:

重要说明:我正在寻找一种解决方案,既适用于gettext.install()被调用脚本,也适用于所有其他不需要调用 gettext.install()的模块。否则,结构可能会更简单,因为_()从 main_script.py 调用足以触发 F821。

解决看起来很糟糕(或更糟)的情况的解决方案:

  • # noqa使用在每行末尾添加注释_()
  • --ignoreF821(不想这样做,因为这在其他情况下很有用)
0 投票
3 回答
15696 浏览

python - Pyflakes 在打印命令中报告无效语法错误

Pyflakes 在类方法的打印(到文件)命令中报告无效语法错误。这是代码:

这是错误:

json_file 在我的代码中的其他地方设置。由于代码运行正常,这似乎是 pyflakes 的问题。使用的 pyflakes 命令是:

0 投票
1 回答
371 浏览

jenkins-workflow - 发布 pyflakes 和 sloccount Jenkinsfile

是否可以使用 Jenkinsfile 发布 pyflakes 统计信息和 slocount。我成功发布了一个 junit 文件,但不知道上面这两个技术是如何进行的

我使用了 step([$class: 'JUnitResultArchiver', testResults: 'xunit.xml'])

pyflakes 和 slocount 是否有 ab 等价物?

0 投票
1 回答
226 浏览

python - 让 pylint(或其他工具)捕获重叠异常

我还没有找到任何方法来获取 pylint(或其他代码分析工具)来捕获存在重叠/冗余异常的情况,如下例所示:

在这里,我想投诉 ConnectionError、IOError 和 socket.error 已经在 except 子句中被 OSError 覆盖。

这存在吗?如果不是,这将是一个好/坏主意吗?

0 投票
2 回答
90 浏览

python - 对于 flake8,如何静态确定源文件是否支持 python 3?

如何静态确定 Python 源文件是否支持 Python 3?

如那里所述,这个问题可能无法回答,所以我会更具体:

我的应用程序是选择一个不会产生虚假 SyntaxErrors 的 flake8 版本来运行。出于这个原因,我正在寻找(至少)一些启发式方法来告诉我是应该运行 flake8 的 Python 3 副本还是 Python 2 副本。

我正在使用我的编辑器中的 flake8,它会在我键入时显示 lint 错误,而且我最担心的是有时我会丢失命名错误(例如 F821),这是 pyflakes/flake8 认为某事的副作用是一个语法错误,实际上是正确的语法:当它遇到语法错误时(可以理解)似乎放弃了命名错误之类的东西。

0 投票
1 回答
573 浏览

python - 这是 flake8 误报,还是我真的做错了什么?

我有一个可以简化为此代码示例的函数:

当我运行 pyflakes (1.3.0) 或 flake8 (3.2.0) 时,我得到以下报告:

我看到的是该item变量确实被使用了两次,但是在不同的范围内,所以不应该报告,对吧?

此外,即使没有第二个循环,为什么不应该允许我重写item变量,因为我已经完成了我在第 3 行定义的变量的工作,因为print?

那么,这是误报,还是我真的在写一段很糟糕的代码?

0 投票
0 回答
33 浏览

python - Pyflakes 和混合 Python 代码库

我有一个代码库(C++、Python),Python 2 和 Python 3 脚本分散在整个源代码中。

我想针对代码库中的各种子目录运行 pyflakes(以及 pyflakes 中的 pytest),但是当我从 Python 2 运行 pyflakes 时,它在 Python 3 脚本上失败了。

有没有一种干净的方法可以针对混合的 Python 2 和 Python 3 代码库运行 pyflakes?

0 投票
1 回答
235 浏览

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

我试图让 Emacs 的 flycheck 与 python 语法错误检查很好地配合使用。默认情况下它使用 flake8,但我注意到最近 flake8 只报告样式问题,当它应该产生与 pyflakes 相同的结果时。

例如,我有一个带有错误模块名称的简单 python 脚本。

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

我的 flake8 配置,如果重要的话:

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

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

Pyflakes 版本:1.5.0