我有一个目录结构

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

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

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

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


当前回答

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

你的问题会解决的

其他回答

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

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

添加src作为源内容根:

                           

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

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

                     

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

                                 

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

在测试了所有的解决方案后,我建议你看看设置->项目->项目依赖项,并重新安排它们。

在我的例子中,使用Pycharm 2019.3,问题是我忘记向我想导入的文件添加扩展名“.py”。一旦添加,错误就会消失,而不需要使缓存无效或任何其他步骤。

在新版本的pycharm中,只需右键单击想要导入文件的目录或python包,然后单击“标记目录为”->“源根”

最简单的解决方法是在pyCharm软件中执行以下操作:

点击:File > Settings > (Project: your Project name) > Project Interpreter >

然后点击右边的“+”图标,搜索你想要的软件包并安装它。

享受编码吧!!