我有以下类似的目录结构。
main.py
pack
|___sub_pack1
|__a.py
|___sub_pack2
|__b.py
现在在我的主程序main.py中(我执行的程序)我按如下方式导入:
from pack.sub_pack1 import a
运行正常。
在 a.py 文件中,我按照如下方式进行导入:
from pack.sub_pack2 import b
此时,PyCharm将上述代码下划线为红色,并通知我“未解决的引用包”。
现在我的代码正在正常工作。我很好奇为什么PyCharm认为这是错误,我该如何避免这种情况。
__init__.py
,以使非本地导入起作用。这在技术上对于Python包是强制性的,但实际上并未被解释器验证,并且显然是不一致的,这取决于PyCharm查找解析导入的位置方式。 - millimoose__init__.py
)与PyCharm项目的命名空间相同,但是PyCharm检查未将其识别为此类,尽管代码运行正常。下面提出的两个解决方案对我不起作用,因为兄弟子包不是源代码的一部分,而是位于Python27\Lib\site-packages
文件夹中。 - kadee