是否可以在PyCharm中禁用对整个文件的检查?
这需要的原因是在处理py.test时.它使用看似影子函数参数的灯具,同时导致未解析的引用.例如:
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.py中pytest.raises()
的"无法找到引用'引发'".
也许还有另一种方法来解决这些问题?也许我错误地使用了py.test?
是否可以在PyCharm中禁用对整个文件的检查?
是.这个答案仅适用于这个问题(而不是"也许还有另一种方法来解决这些问题?也许我正在使用py.test错误?").
"设置|范围"
创建包含此类"不需要的"文件的新范围
"设置|检查"
找到"有问题"的检查
右键单击并选择"添加范围"
禁用该特定范围的检查
或者(可能工作或可能不工作:取决于实际检查..我不确定它是否真的以这种方式在PyCharm中工作 - 不幸的是我自己不是PyCharm用户)
Alt + Enter 插入符号位于代码中的错误/警告位置
从出现的弹出菜单中选择正确的条目
使用Arrow Right键展开子菜单
寻找"抑制检查"选项
这就是它在PhpStorm中的样子(截图显示"抑制语句"选项,而不是"抑制整个文件"):
相关:https://stackoverflow.com/a/20803118/783119
回答"也许我错误地使用了py.test?" 题:
导入灯具不是最好的模式.相反,最好将fixtures放在需要它们的包的conftest.py文件中.如果在两个包中使用fixture,只需将conftest.py放在其父目录中并将夹具放在那里.这应该摆脱未使用的导入和阴影警告.
至于pytest.raises
命名空间问题,我认为目前没有解决方案.这也是pylint遭受的损失(我认为有一种努力为pylint创建一个py.test插件来解决这些问题).所以我认为在一天结束时,linter仍然需要了解py.test.