为什么PyCharm在使用绝对导入时抱怨缺少模块?

26 投票
2 回答
5800 浏览
提问于 2025-04-18 12:10

我有以下的包结构:

projects/
    package_name/
        __init__.py
        model.py

__init__.py 文件中,我有以下的导入语句:

import package_name.model as model

但是,PyCharm 提示我没有名为 package_name 的模块。不过,当我在终端中从 projects/ 目录导入这个包时,Python 能顺利导入。我的 PyCharm 工作目录也是 projects,而且我已经把它添加到了我的 PYTHONPATH 中。

为什么 PyCharm 会出现这个提示,尽管它在其他地方看起来没问题,我该怎么解决呢?

2 个回答

-10

这是因为PyCharm是一个图形界面应用程序,也就是说它不会共享你的环境变量,而这些环境变量通常是在你的主目录配置文件中定义的。

38

PyCharm需要知道你项目中的哪些文件是Python源文件,这样它才能理解你的模块结构。

你可以通过打开文件,然后依次选择设置、项目和项目结构来进行设置。

接着,把projects标记为源目录。

撰写回答