我有一个目录结构

├── simulate.py
├── src
│   ├── networkAlgorithm.py
│   ├── ...

我可以使用sys.path.insert()访问网络模块。

import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *

但是,pycharm抱怨它无法访问该模块。我如何教pycham解决引用?


当前回答

这对我有用:顶部菜单->文件->无效缓存/重新启动

其他回答

我在安装aigram时遇到了一个重要问题。与此同时,机器人工作了,但pyCharm用红色突出显示导入,并且没有给出提示。以上这些方法我都试过很多次了。结果,以下操作帮助了我:我在以下路径找到了aiogram文件夹 Python c…\ AppData \ \用户漫游\ \ Python310 \网站 然后复制到文件夹里 C:\Program Files\Python310\Lib\网站 在那之后,我重置pyCharm,就是这样!

虽然所有的答案都很有帮助,但有一小部分信息应该明确解释:

本质上,具有多个层次目录的项目作为具有某些属性的包工作。 要导入自定义本地创建的类,我们需要导航到包含.py文件的目录,并在那里创建一个__init__.py(空)文件。

这之所以有用,是因为需要这个文件才能使Python将该目录视为包含包的目录。干杯!

手动添加它确实是一种方法,但是有一种更简单的方法,那就是简单地告诉pycharm您想要添加src文件夹作为源根,然后将源根添加到您的python路径。

这样,你就不必在解释器的设置中硬编码:

添加src作为源内容根:

                           

然后确保在PYTHONPATH下面添加add sources: 首选项~构建、执行、部署~控制台~ Python控制台

现在进口问题将得到解决:

                     

通过这种方式,您可以添加任何您想要的源根,并且事情将简单地工作。但是,如果你没有将它标记为源根,你会得到一个错误:

                                 

完成所有这些后,不要忘记重新启动。在PyCharm菜单中选择:File——> Invalidate Caches / Restart

在SRC文件夹中检查__init__.py文件 添加SRC文件夹作为源根目录 然后确保将源代码添加到PYTHONPATH(参见上面) 在PyCharm菜单中选择:File——> Invalidate Caches——> Restart

在PyCharm中右键单击文件所在的目录 转到——>标记目录为 选择——>源根

你的问题会解决的