【发布时间】:2014-02-04 00:49:46
【问题描述】:
鉴于这种情况:
b.py:
import A
# A is unused here
c.py:
from b import A
# A is used here
PyCharm 在b.py 中抱怨import A 是未使用的导入,优化导入将其删除,从而破坏了c.py 中的导入。
我知道这些链式导入不是一个好习惯(尽管您可能会使用它来实现外观模块),但是是我还是 PyCharm 失败了?
【问题讨论】:
-
是你。如果您想解决此 IDE 行为,只需在您使用这些变量的位置添加一个
if False:块,以便优化导入不会触及它们。 -
我正在处理一个大型项目中的现有代码。此外,我认为为了 IDE 编写代码并不是一个好主意。这是噪音,尤其是对于使用其他工具的贡献者。
-
"Fail" 有点苛刻,是一个小缺点,是的,但实际上没有任何方法可以轻松获得 100% 正确的行为(您可以随意混淆 A 的使用)。如果 A 在不应该删除的时候被删除,这就是你的 buildbot / jenkins / 持续集成设置应该立即解决的问题