如何告知 PyCharm 自定义模块的位置?
How do I inform PyCharm of the location of custom modules?
我有一个使用以下结构设置的应用程序。
/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 工具。在 app1
中的 __init__.py
中,我有一个导入语句,如下所示:
import pkg.database
PyCharm 使用 no module named pkg
消息抱怨导入。
(点击查看大图)
不过,由于框架的构建方式,系统运行得很好。每个 appN
都知道 pkg
目录。我如何通知 PyCharm 我在 pkg
目录中有自定义构建的模块,以便停止这些警告?
我正在测试 PyCharm 4.0.3 社区版。
我尝试了一些方法,感谢下面的评论,但没有帮助:
- 在“项目结构”对话框中,project_root 被列为对话框右侧 "Content Root" 下的唯一目录。我添加了
pkg
目录,以便它也被列出。这没有效果。
- 最初版本的问题,我在显示结构时漏掉了
pkg
中的__init__.py
。该文件确实存在。
这个问题的解决方案分为两个步骤:
- 添加
pkg
目录作为源根目录。通过 selecting File
-> Settings
-> Project
-> (select 项目) -> Project Structure
然后 select pkg
目录并通过单击 Sources
按钮添加。单击确定。
- 然后select
File
-> Invalidate Caches / Restart
-> Invalidate and Restart
等待 PyCharm 重新启动并重建其缓存/扫描索引。现在 pkg
目录被检测为源根目录,我的错误消失了。
我有一个使用以下结构设置的应用程序。
/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 工具。在 app1
中的 __init__.py
中,我有一个导入语句,如下所示:
import pkg.database
PyCharm 使用 no module named pkg
消息抱怨导入。
不过,由于框架的构建方式,系统运行得很好。每个 appN
都知道 pkg
目录。我如何通知 PyCharm 我在 pkg
目录中有自定义构建的模块,以便停止这些警告?
我正在测试 PyCharm 4.0.3 社区版。
我尝试了一些方法,感谢下面的评论,但没有帮助:
- 在“项目结构”对话框中,project_root 被列为对话框右侧 "Content Root" 下的唯一目录。我添加了
pkg
目录,以便它也被列出。这没有效果。 - 最初版本的问题,我在显示结构时漏掉了
pkg
中的__init__.py
。该文件确实存在。
这个问题的解决方案分为两个步骤:
- 添加
pkg
目录作为源根目录。通过 selectingFile
->Settings
->Project
-> (select 项目) ->Project Structure
然后 selectpkg
目录并通过单击Sources
按钮添加。单击确定。 - 然后select
File
->Invalidate Caches / Restart
->Invalidate and Restart
等待 PyCharm 重新启动并重建其缓存/扫描索引。现在 pkg
目录被检测为源根目录,我的错误消失了。