【发布时间】:2015-01-05 22:49:08
【问题描述】:
我有一个使用以下结构设置的应用程序。
/project_root
/applications
/app1
__init__.py
/app2
__init__.py
...
/appN
/pkg
/database
__init__.py
/toolbox
__init__.py
...
__init__.py
__init__.py
main_framework.py
我正在研究使用 PyCharm(社区版),而不是 Eclipse 的 PyDev 工具。在__init__.py 在app1 中,我有一个如下所示的导入语句:
import pkg.database
PyCharm 使用 no module named pkg 消息抱怨导入。
但是,由于框架的构建方式,系统运行良好。每个appNs 都知道pkg 目录。如何通知 PyCharm 我在 pkg 目录中有自定义构建的模块,以便停止这些警告?
我正在测试 PyCharm 4.0.3 社区版。
我尝试了几件事,感谢下面的 cmets,但没有帮助:
- 在“项目结构”对话框中,project_root 被列为对话框右侧“内容根目录”下的唯一目录。我添加了
pkg目录,以便它也被列出。这没有效果。 - 在问题的初始版本中,我在显示结构时错过了
pkg中的__init__.py。该文件确实存在。
【问题讨论】:
-
您是否已将
project_root设为项目的源根目录? -
尝试使用
project_root.pkg.database,即使我认为它不起作用。第二种选择,尝试将pkg也设为源根目录,将其标记为Source。如果可行,请告诉我,我会将其发布为答案。我认为第二个应该可以。 -
第二个选项不起作用(我将其设置为
Source,然后重新启动了PyCharm)。如果没有其他内容,我会考虑第一个选项,因为我不想在不需要的情况下修改所有appN脚本。 -
@Matthias 可能是……