如何在'__init__.py'文件中忽略Pyflakes错误‘已导入但未使用’?

76 投票
6 回答
43911 浏览
提问于 2025-04-17 07:57

我把我的测试代码分散在多个Python文件里:

tests
├── __init__.py
├── test_apples.py
└── test_bananas.py.py

我在‘__init__.py’文件里导入这些测试:

from test_apples import ApplesTest
from test_bananas import BananasTest

但是在命令行运行Pyflakes的时候:

pyflakes .

出现了以下错误:

tests/__init__.py:1: [E] PYFLAKES:'ApplesTest' imported but unused
tests/__init__.py:2: [E] PYFLAKES:'BananasTest' imported but unused

6 个回答

18

有时候你需要跳过一行代码。根据当前版本的文档(flake8 2.4.1),包含

# flake8: noqa

的文件会被跳过。这是有效的,而 # noga 和 # pyflakes.ignore 则不起作用。

127

如果你想在‘__init__.py’文件中忽略所有的F401错误(也就是“导入了但没有使用”),可以使用一个叫做‘per-file-ignores’的选项。这个选项从Flake8的3.7.0版本开始就可以用了,Flake8是一个比Pyflakes更好的工具。使用这个选项非常方便,你可以在命令行中这样做:

flake8 --per-file-ignores="__init__.py:F401" .

或者你也可以在配置文件中设置,比如‘.flake8’,‘setup.cfg’或者‘tox.ini’:

[flake8]
per-file-ignores = __init__.py:F401
-7

在你想要忽略的每一行代码上加上 # pyflakes.ignore 这个注释(比如在你的情况下,就是导入语句)。

撰写回答