是否可以在PyCharm中禁用对整个文件的检查?
需要这样做的原因是在处理py.test时。它使用看似影子函数参数的灯具,同时导致未解析的引用。 e.g:
from myfixtures import user # Unused import statement warning
def test_is_awesome(user): # Shadows name 'user' from outer scope warning
assert user.is_awesome()
py.test还有其他警告,例如使用pytest.raises()
会导致pytest.py中出现“找不到引用'引发'”。
也许还有另一种方法来解决这些问题?也许我错误地使用了py.test?
答案 0 :(得分:18)
是否可以在PyCharm中禁用对整个文件的检查?
是。这个答案仅适用于这个问题(而不是关于"也许还有另外一种解决这些问题的方法吗?也许我没有错误地使用py.test?" )。
或者(可能有效或可能无效:取决于实际检查......我不确定它是否真的以这种方式在PyCharm中运行 - 不幸的是我自己不是一个PyCharm用户)< / p>
这就是它在PhpStorm中的样子(截图显示&#34;抑制语句&#34;选项而不是&#34;抑制整个文件&#34;)
答案 1 :(得分:6)
回答&#34;也许我错误地使用py.test?&#34;问题:
导入灯具不是最好的模式。相反,最好将fixtures放在需要它们的包的conftest.py文件中。如果在两个包中使用fixture,只需将conftest.py放在其父目录中并将夹具放在那里。这应该摆脱未使用的导入和阴影警告。
关于pytest.raises
命名空间问题,我认为目前没有解决方案。这也是pylint遭受的损失(我认为有一种努力为pylint创建一个py.test插件来解决这些问题)。所以我认为在一天结束时,linter仍然需要了解py.test。
答案 2 :(得分:-1)
我发现将per语句检查:
...
# noinspection PyUnusedLocal
instance = mommy.make(Contact)
在文件的开头为整个文件禁止它:
from django.urls import reverse
# noinspection PyUnusedLocal