我不知道 pycharm 是否与问题有关,或者我是菜鸟。
这是我的文件夹布局和三个代码文件的屏幕截图:
我在 Windows 上使用 Pycharm,“my_working_directory”是我的工作目录。您可以在屏幕截图中看到 mod1.py 中“来自 package2.mod2”的下划线表示“未解析的引用”。
当我尝试运行 mod1.py 时,我得到:
C:\Python27\python.exe C:/Users/Robert/PycharmProjects/play/my_working_directory/package1/mod1.py
Traceback (most recent call last):
File "C:/Users/Robert/PycharmProjects/play/my_working_directory/package1/mod1.py", line 1, in <module>
from package2.mod2 import SomeClass
ImportError: No module named package2.mod2
当我运行 main.py 时,我得到:
C:\Python27\python.exe C:/Users/Robert/PycharmProjects/play/my_working_directory/main.py
hi
我不明白为什么一个有效,而另一个无效。
主要问题是pycharm没有给我自动完成功能,并且从mod1它无法检测到package2。这是一个大问题,因为 package1 是我的视图包,package2 是我的模型或 utils 或 lib 包(在大型模型视图控制器中)。(例如https://github.com/coto/gae-boilerplate/blob/master/web/handlers.py pycharm 没有检测到任何 from lib.? import ? 语句。(给出未解决的参考)。
有谁知道发生了什么?这是导入包的最佳方式吗?我应该期望能够自动完成吗?
是否应该通过制作另一个init .py 文件将“my_working_directory”制作成一个包?