2013-07-31 39 views
7

我有以下类似的目录结构。从兄弟分包中导入时未解决的引用

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认为它是错误的,我该怎么做才能避免这种事情。

+0

似乎PyCharm由于某种原因期望你在包中有一个'__init __。py',非本地导入工作。对于Python软件包来说,这在技术上是强制性的,但是并没有真正经过解释器的验证,然而PyCharm显然做了不一致的事情,然而PyCharm会在哪里解析导入。 – millimoose

+0

也就是说你应该将这个文件作为JetBrains的一个bug报告,我有很好的经验来解决这样的烦恼。 – millimoose

+1

我当然增加了__init__.py。我已经接受了pycharm论坛的帮助。我会更新,如果我会得到任何答案。 –

回答

5

进入设置 - >项目结构和sub_pack2作为源

+0

这对我有用!只要确保所有子软件包的所有src文件夹都添加为项目的项目结构设置中的源文件夹 –

24

如果你有在PyCharm“未解参考”错误的麻烦,你可以做的另一件事是:

  • 右击对Python的源目录
  • 选择“标记目录为”>“源根”

确保你已经做到了这一点您所有的Python源目录。

+1

感谢您提及“源根”。它修复了我在使用PyCharm时遇到的问题。 – LoveGandhi

+2

给这个EInnocent的家伙检查他的回复! 它现在帮助我! :) – Sammy

+1

记住'文件 - 无效缓存/重新启动'后。 –