我有一个目录结构

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

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

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

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


当前回答

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

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

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

享受编码吧!!

其他回答

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

如果你有python解释器不安装的问题,请注意 包,只需更改文件夹PycharmProjects的权限 C: \用户'username \ PycharmProjects 致每一个人

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

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

为什么会发生这种情况有几个原因。以下是修复大多数此类情况的几个步骤:

.idea缓存问题

一些.idea问题导致IDE显示错误,而代码仍然正确运行。解决方案:

关闭项目并快速PyCharm 删除项目所在的。idea文件夹。请注意,它是一个隐藏文件夹,您可能不知道它存在于项目目录中。 启动PyCharm并重新创建项目

导入相对于项目文件夹

相对导入,而代码根文件夹与项目文件夹不相同。解决方案:

在项目资源管理器中找到相关导入所需的文件夹 右键单击并标记为“Source Root”

编辑器没有将init.py标记为Python而是文本

这是所有案例中最令人难以置信的。在这里,出于某种原因,PyCharm认为所有__init__.py文件都不是python文件,因此在代码分析时忽略了它们。要解决这个问题:

打开PyCharm设置 导航到编辑器->文件类型 找到Python并将__init__.py添加到Python文件列表中

or

找到Text并从文本文件列表中删除__init__.py

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