如何通知PyCharm自定义模块的位置?

时间:2015-01-02 17:43:04

标签: python pycharm

我的工作中的应用程序设置了以下结构。

/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消息抱怨导入。

PyCharm Error (点击查看大图)

由于框架的构建方式,系统运行得很好。每个appN都知道pkg目录。如何通知PyCharm我在pkg目录中有自定义构建的模块,以便这些警告停止?

我正在测试PyCharm 4.0.3社区版。

我尝试了几件事,感谢下面的评论,这些事情没有帮助:

  • 在“项目结构”对话框中,project_root被列为对话框右侧“内容根”下的唯一目录。我添加了pkg目录,以便列出它。这没有效果。
  • 在问题的初始版本中,我在显示结构时错过了__init__.py中的pkg。该文件确实存在。

1 个答案:

答案 0 :(得分:16)

解决这个问题的过程分为两个步骤:

  1. pkg目录添加为源根目录。通过选择File - >来完成此操作Settings - > Project - > (选择项目) - > Project Structure然后选择pkg目录并点击Sources按钮添加。单击“确定”。
  2. 然后选择File - > Invalidate Caches / Restart - > Invalidate and Restart
  3. 等待PyCharm重启并重建它的缓存/扫描索引。现在pkg目录被检测为源根,我的错误消失了。