我有一个目录结构
├── 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解决引用?
当前回答
通过PyCharm安装(适用于社区版)。打开设置>项目>项目解释器,然后点击下面截图中的绿色+图标。在打开的第二个对话框中,输入软件包名称并单击“Install package”按钮。
其他回答
为什么会发生这种情况有几个原因。以下是修复大多数此类情况的几个步骤:
.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 2016.3。UI可能已经更改,但选项仍然相同。
ie。右键单击根文件夹——>“标记目录为”——>源根
在我的例子中,使用Pycharm 2019.3,问题是我忘记向我想导入的文件添加扩展名“.py”。一旦添加,错误就会消失,而不需要使缓存无效或任何其他步骤。
我在安装aigram时遇到了一个重要问题。与此同时,机器人工作了,但pyCharm用红色突出显示导入,并且没有给出提示。以上这些方法我都试过很多次了。结果,以下操作帮助了我:我在以下路径找到了aiogram文件夹 Python c…\ AppData \ \用户漫游\ \ Python310 \网站 然后复制到文件夹里 C:\Program Files\Python310\Lib\网站 在那之后,我重置pyCharm,就是这样!
我也有同样的问题,也尝试了很多建议,但没有一个有效,直到我发现了这篇文章(https://stackoverflow.com/a/62632870/16863617)。尽管他的解决方案对我不起作用,但它帮助我想出了将_init.py_添加到——>设置|编辑器|文件类型| Python |注册模式的想法
截图
未解决的引用错误现在已经解决。