问题标签 [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 - Python 中表示未使用的模块导入的惯用方式是有意的
有时,看似未使用的 Python 模块导入实际上对于程序的正常运行至关重要。看似未使用的导入会导致来自 PyFlakes 等工具的虚假消息,并可能引起过分热心的程序员的不必要的关注。例如,C++ (自 C++ 11 起)有一种惯用的方式来用[[unused]]
属性表示这一点([[maybe_unused]]
自 C++ 17 起)。
我特别在像 Flask 这样的 Web 框架的上下文中提出这个问题,这种情况经常发生。例如,这个来自 Flask 应用程序的样板代码,这对于其正常功能至关重要:
我通常通过以下方式处理这种情况
有没有一种更明确的意图和更“Pythonic”的方法来实现这一点?
python - Python flake8 py 错误地报告 W391(文件末尾没有换行符)
W391 表示文件末尾应该有一个(并且只有一个)空白行。但是,当文件末尾至少有一个换行符时,flake8 会报告错误:
您可以在上面看到实际上文件末尾只有一个空行(0a
is \n
)。但是,当我运行 flake8 时,我收到 W391 错误:
这是为什么?
python - Python:pyflakes 不解释 noqa 注释
我有一些奇怪的事情pyflakes
和noqa
评论。
我有一个类似于下面的类(MyExample
):
- 它是一个名为
pyflakes_f811_test
. - 它只继承自
abc.ABC
. - 我
typing.overload
用来重载类中的方法。
从命令行消息调用 pyflakes redefinition of unused 'enter_yes_no' from line 25
。因此,我在# noqa: F811
评论中添加了,但消息并没有消失。
我的问题:
- 有谁知道这里发生了什么?
- 是否有任何已知的原因会发生这种情况?
- 关于调试的任何提示?
源代码
姓名:pyflakes_f811_overload.py
复制
pyflakes
通过命令行调用,如下所示:
软件包版本:
python - vim+syntastic+pyflakes 在 Windows 10 上失败,在 Linux 上工作
我的 vim 配置存储在 subversion 中,位于https://stromberg.dnsalias.org/svn/vimrc/trunk
我经常在 linux 上使用它。它非常适合编辑 Python 代码;我使用 pyflakes、pydocstyle 和 pycodestyle。
我最近在做一个 Windows+Linux 项目,所以我也想在 Windows 10 上使用这个 vim 配置。它很好地完成了 pydocstyle 和 pycodestyle,但 pyflakes 出于某种原因被忽略了,即使我故意放入一些我知道 pyflakes 应该抱怨的东西——但正如我所提到的,pyflakes 只在 Windows 上失败,而不是在 Linux 上。我想在 Windows 上使用 pyflakes。
我已经盯着这个看了好几个小时了,但是当 pydocstyle 和 pycodestyle 很高兴时,我不明白为什么 pyflakes 会失败。
如果我运行:python3 -m pyflakes t.py
...在命令行中,一切似乎都运行良好,即使在 Windows 10 上也是如此。捕获到错误,退出代码为 1。
这是我的 t.py:
export LC_CTYPE=en_US.UTF-8
在编辑 t.py 之前,我在 MSYS bash 中尝试过。pyflakes 的错误仍然被忽略。
我还尝试启用综合调试,其中:
...在我的 ~/_vimrc 中(名称在 Windows 上已更改)。
这会在 ~/syntastic.log 中产生以下内容:
...但即使这样似乎也不能告诉我出了什么问题。
这就是在 Linux 上我可能会转向 strace 的地方。
顺便说一句,vimrc 位于https://stromberg.dnsalias.org/svn/vimrc/trunk/hierarchy/.vimrc,最相关的部分是:
顺便说一句,我尝试在我的 ~/_vimrc 中将 /usr/bin/python3 更改为简单的 'python3',但它似乎没有帮助。
哦,还有 :SyntasticInfo 给出:
各位有什么建议吗?
python-3.x - 如何让 flake8 捕捉不可调用的?
在这个测试程序上:
命令python -m py_compile my_script.py
警告“SyntaxWarning:'tuple' 对象不可调用;也许您错过了逗号?” 并pylint --disable=all --enable=E1102 my_script.py
输出“E1102: (1, 2) is not callable (not-callable)”。
但flake8
没有显示错误或警告。我怎样才能让它捕获(输出或警告)不可调用的声明?
我正在使用:
3.7.9 (mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.8.2 on Linux (WSL2)
python - spyder IDE 上的无效语法 (pyflakes E)
这是我的一段代码。我正在使用 IDE Spyder。在线上
我收到一个错误,“无效的语法(pyflakes E)”我不确定它有什么问题,我觉得这可能是 Spyder 的问题。有任何想法吗?
discord.py - 为什么我会收到这个语法错误(假语法错误 pyflakes)
我尝试遵循有关如何使用 discord.py 托管不和谐机器人的教程。我做的一切都正确,但 pyflakes 显示语法错误。你知道为什么吗?
我有两个文件:main.py 和 keep_alive.py。这是 main.py:
这是keep_alive.py:
当我运行程序时,我得到这个错误: