33

我将测试拆分到多个 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
4

4 回答 4

60

要忽略“__init__.py”文件中的所有错误 F401(“已导入但未使用”),自Flake8版本 3.7.0(更好的 Pyflakes)以来可用的选项“per-file-ignores”</a>非常方便的。它可以在命令行上使用:

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

或在配置文件中('.flake8'、'setup.cfg' 或 'tox.ini'):

[flake8]
per-file-ignores = __init__.py:F401
于 2019-09-20T13:21:21.763 回答
9

在我的PyFlakes (0.7.3)版本中,使用__all__作品。

此外,要跳过一行,您应该添加# noqa.

于 2013-09-30T01:34:13.077 回答
8

有时你必须跳过一行。根据当前版本的文档(flake8 2.4.1)包含的文件

# flake8: noqa

被跳过。这行得通,而# noga,# pyflakes.ignore 不行。

于 2015-07-01T14:43:12.533 回答
-5

# pyflakes.ignore在您要忽略的每一行上添加注释(在您的情况下导入语句)。

于 2011-12-08T07:47:30.870 回答