我有一个目录结构

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

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

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

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


当前回答

请检查您是否使用了正确的解释器。我得到错误“未解决的引用'django'”来解决这个问题,我从项目设置中更改了项目解释器(更改Python 3到Python 2.7): 选择项目,进入文件->设置->项目:->项目解释器->眉毛并选择正确的版本或解释器(例如/usr/bin/python2.7)。

其他回答

在我的情况下,问题是我使用的虚拟环境,没有访问全局站点包。因此,解释器不知道新安装的包。

要解决这个问题,只需编辑或重新创建虚拟解释器,并勾选“继承全局站点包”选项。

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

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

对于我来说:

Directory0
    ├── Directory1
    │     └── file1.py  
    ├── Directory2
    │     ├── file2.py  

在file1中,我有:

from Directory2 import file2

它传输一个“未解决的引用Directory2”。

我是这样解决的:

如上所述,将父目录Directory0标记为“源根”

AND

把我的光标放在我有错误的文件上的另一行,这样它就会考虑到我的修改

这很愚蠢,但如果我不执行第二个操作,错误仍然会出现,并可能使您认为您没有通过将父目录标记为Source Root来解决问题。

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

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

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

享受编码吧!!