我有一个目录结构

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

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

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

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


当前回答

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

其他回答

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

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

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

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

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

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

你的问题会解决的

我克隆的项目有一个名为modules的目录,并成功地在import this as that的代码中使用了那里的文件,但Pycharm无法跳转到那些代码片段,因为它无法识别导入。

将下面设置部分中的模块文件夹标记为源解决了这个问题。