如何告知 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 社区版。

我尝试了一些方法,感谢下面的评论,但没有帮助:

这个问题的解决方案分为两个步骤:

  1. 添加 pkg 目录作为源根目录。通过 selecting File -> Settings -> Project -> (select 项目) -> Project Structure 然后 select pkg 目录并通过单击 Sources 按钮添加。单击确定。
  2. 然后select File -> Invalidate Caches / Restart -> Invalidate and Restart

等待 PyCharm 重新启动并重建其缓存/扫描索引。现在 pkg 目录被检测为源根目录,我的错误消失了。