我有一个目录结构
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
我可以使用sys.path.insert()访问网络模块。
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
但是,pycharm抱怨它无法访问该模块。我如何教pycham解决引用?
我有一个目录结构
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
我可以使用sys.path.insert()访问网络模块。
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
但是,pycharm抱怨它无法访问该模块。我如何教pycham解决引用?
当前回答
我也有同样的问题,也尝试了很多建议,但没有一个有效,直到我发现了这篇文章(https://stackoverflow.com/a/62632870/16863617)。尽管他的解决方案对我不起作用,但它帮助我想出了将_init.py_添加到——>设置|编辑器|文件类型| Python |注册模式的想法
截图
未解决的引用错误现在已经解决。
其他回答
如果你有python解释器不安装的问题,请注意 包,只需更改文件夹PycharmProjects的权限 C: \用户'username \ PycharmProjects 致每一个人
Pycharm使用venv。在venv的控制台中,您应该显式地安装包或进入设置->项目解释器->添加解释器->继承全局站点包。
为什么会发生这种情况有几个原因。以下是修复大多数此类情况的几个步骤:
.idea缓存问题
一些.idea问题导致IDE显示错误,而代码仍然正确运行。解决方案:
关闭项目并快速PyCharm 删除项目所在的。idea文件夹。请注意,它是一个隐藏文件夹,您可能不知道它存在于项目目录中。 启动PyCharm并重新创建项目
导入相对于项目文件夹
相对导入,而代码根文件夹与项目文件夹不相同。解决方案:
在项目资源管理器中找到相关导入所需的文件夹 右键单击并标记为“Source Root”
编辑器没有将init.py标记为Python而是文本
这是所有案例中最令人难以置信的。在这里,出于某种原因,PyCharm认为所有__init__.py文件都不是python文件,因此在代码分析时忽略了它们。要解决这个问题:
打开PyCharm设置 导航到编辑器->文件类型 找到Python并将__init__.py添加到Python文件列表中
or
找到Text并从文本文件列表中删除__init__.py
在新版本的pycharm中,只需右键单击想要导入文件的目录或python包,然后单击“标记目录为”->“源根”
我克隆的项目有一个名为modules的目录,并成功地在import this as that的代码中使用了那里的文件,但Pycharm无法跳转到那些代码片段,因为它无法识别导入。
将下面设置部分中的模块文件夹标记为源解决了这个问题。