问题标签 [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.
python - pep8 警告 8 空格缩进
这段代码:
违反PEP 0008,其中规定
每个缩进级别使用 4 个空格。
但是 , 或 命令都没有pep8
警告pyflakes
它flake8
。
我怎样才能让他们中的一个抱怨这个 unpythonic 代码?
python - flake8 没有报告太长的行
如果我创建一个test.py
包含以下格式错误的内容的文件:
并从命令行运行flake8
文件,如下所示:
只报两个错误:
max-line-length
未报告第二行的违规行为。
完全是偶然的(我正在测试是否会尊重任何命令选项),我发现如果我添加一个这样的忽略选项:
然后报行长度违例:
我在 Ubuntu 16.04 上,我的flake8
版本信息是:
当我在 Emacs Stack Exchange 站点上发布一个相关问题时(我最初认为问题出在 Emacs 包上),那里的一位用户指出 flake8
2.5.4 需要较低版本的pyflakes
. 但是,flake8
通过安装apt
或pip
自动安装该特定版本pyflakes
作为依赖项,我无法获得旧版本来pyflakes
查看是否可以解决问题(也许这完全是另一个问题)。
我在这里做错了什么,还是这是一个错误?
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
使用在每行末尾添加注释_()
--ignore
F821(不想这样做,因为这在其他情况下很有用)
python - Pyflakes 在打印命令中报告无效语法错误
Pyflakes 在类方法的打印(到文件)命令中报告无效语法错误。这是代码:
这是错误:
json_file 在我的代码中的其他地方设置。由于代码运行正常,这似乎是 pyflakes 的问题。使用的 pyflakes 命令是:
jenkins-workflow - 发布 pyflakes 和 sloccount Jenkinsfile
是否可以使用 Jenkinsfile 发布 pyflakes 统计信息和 slocount。我成功发布了一个 junit 文件,但不知道上面这两个技术是如何进行的
我使用了 step([$class: 'JUnitResultArchiver', testResults: 'xunit.xml'])
pyflakes 和 slocount 是否有 ab 等价物?
python - 让 pylint(或其他工具)捕获重叠异常
我还没有找到任何方法来获取 pylint(或其他代码分析工具)来捕获存在重叠/冗余异常的情况,如下例所示:
在这里,我想投诉 ConnectionError、IOError 和 socket.error 已经在 except 子句中被 OSError 覆盖。
这存在吗?如果不是,这将是一个好/坏主意吗?
python - 对于 flake8,如何静态确定源文件是否支持 python 3?
如何静态确定 Python 源文件是否支持 Python 3?
如那里所述,这个问题可能无法回答,所以我会更具体:
我的应用程序是选择一个不会产生虚假 SyntaxErrors 的 flake8 版本来运行。出于这个原因,我正在寻找(至少)一些启发式方法来告诉我是应该运行 flake8 的 Python 3 副本还是 Python 2 副本。
我正在使用我的编辑器中的 flake8,它会在我键入时显示 lint 错误,而且我最担心的是有时我会丢失命名错误(例如 F821),这是 pyflakes/flake8 认为某事的副作用是一个语法错误,实际上是正确的语法:当它遇到语法错误时(可以理解)似乎放弃了命名错误之类的东西。
python - 这是 flake8 误报,还是我真的做错了什么?
我有一个可以简化为此代码示例的函数:
当我运行 pyflakes (1.3.0) 或 flake8 (3.2.0) 时,我得到以下报告:
我看到的是该item
变量确实被使用了两次,但是在不同的范围内,所以不应该报告,对吧?
此外,即使没有第二个循环,为什么不应该允许我重写item
变量,因为我已经完成了我在第 3 行定义的变量的工作,因为print
?
那么,这是误报,还是我真的在写一段很糟糕的代码?
python - Pyflakes 和混合 Python 代码库
我有一个代码库(C++、Python),Python 2 和 Python 3 脚本分散在整个源代码中。
我想针对代码库中的各种子目录运行 pyflakes(以及 pyflakes 中的 pytest),但是当我从 Python 2 运行 pyflakes 时,它在 Python 3 脚本上失败了。
有没有一种干净的方法可以针对混合的 Python 2 和 Python 3 代码库运行 pyflakes?
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