PyCharm 中未解决的引用问题

2024-12-12 08:40:00
admin
原创
268
摘要:问题描述:我有一个目录结构├── simulate.py ├── src │   ├── networkAlgorithm.py │   ├── ... 我可以使用 访问网络模块sys.path.insert()。import sys import os.path sys.path.insert(0, &qu...

问题描述:

我有一个目录结构

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

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

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

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

在此处输入图片描述


解决方案 1:

像您所做的那样手动添加它确实执行此操作的一种方法,但是还有一种更简单的方法,那就是简单地告诉 pycharm 您要将该src文件夹添加为源根目录,然后将源根目录添加到您的 python 路径。

这样,您就不必将内容硬编码到解释器的设置中:

  • 添加src为源内容根:

                           
在此处输入图片描述

  • 然后确保将添加源添加到您的PYTHONPATH下方:

Preferences ~ Build, Execution, Deployment ~ Console ~ Python Console

在此处输入图片描述

  • 现在将解决导入问题:

                     
在此处输入图片描述

这样,你可以添加任何你想要的源根,一切都会顺利进行。但是,如果你取消将其标记为源根,则会出现错误:

                                 
在此处输入图片描述

完成所有这些后,别忘了重启。在 PyCharm 菜单中,选择:文件 --> 使缓存无效/重启

解决方案 2:

  1. 检查文件夹__init__.py中的文件src

  2. 添加src文件夹作为源根目录

  3. 然后确保将来源添加到您的PYTHONPATH(见上文)

  4. 在 PyCharm 菜单中选择:文件 --> 使缓存无效 --> 重新启动

解决方案 3:

如果有人仍在关注这个问题,那么当我尝试时,接受的答案仍然适用于 PyCharm 2016.3。用户界面可能已更改,但选项仍然相同。

即右键单击您的根文件夹 -->“将目录标记为” --> 源根目录

解决方案 4:

测试所有解决方法后,我建议您查看Settings -> Project -> project dependencies并重新安排它们。

pycharm 偏好设置

解决方案 5:

通常,$PYTHONPATH 用于指示 Python 解释器找到必要的模块。PyCharm 需要在 Preference 中添加该路径。

在此处输入图片描述

解决方案 6:

发生这种情况的原因有多种。下面是解决大多数情况的几个步骤:

.idea 缓存问题

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

  1. 关闭项目并快速 PyCharm

  2. 删除.idea项目所在的文件夹。请注意,这是一个隐藏文件夹,您可能不知道它在您的项目目录中的存在。

  3. 启动 PyCharm 并重新创建项目

导入与项目文件夹无关的内容

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

  1. 在项目资源管理器中找到相对导入所需的文件夹

  2. 右键单击并将其标记为“Source Root”

编辑器未将init .py 标记为 Python,而是标记为文本

这是所有情况中最难理解的。这里,出于某种原因,PyCharm 认为所有__init__.py文件都不是 Python 文件,因此在代码分析期间会忽略它们。要解决此问题:

  1. 打开 PyCharm 设置

  2. 导航至编辑器 -> 文件类型

  3. 找到 Python 并添加__init__.py到 python 文件列表中

或者

  1. __init__.py从文本文件列表中查找文本并删除

解决方案 7:

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

在以下设置部分中标记模块文件夹source以解决问题。

Pycharm 偏好设置

解决方案 8:

尽管所有答案都很有帮助,但有一小段信息需要明确解释:

  • 本质上,具有多个分层目录的项目作为具有某些属性的包工作。

  • 要导入自定义的本地创建的类,我们需要导航到包含.py文件的目录并__init__.py在那里创建一个(空)文件。

这之所以有帮助,是因为这个文件是让 Python 将目录视为包含包所必需的。干杯!

解决方案 9:

一般来说,这是一个缺少包的问题,​​只需将插入符号放在未解决的引用处并按下Alt+Enter以显示选项,然后您就知道如何解决它了。

解决方案 10:

通过 PyCharm 安装(适用于社区版)。打开Settings > Project > Project Interpreter后单击下面屏幕截图中的绿色 + 图标。在打开的第二个对话框中,输入包名称并单击“安装包”按钮。

在此处输入图片描述

解决方案 11:

按照接受的答案后,执行以下操作可以为我解决问题:

FileSettingsProject <your directory/project>Project Dependencies

选择未解析导入的文件所在的目录/项目,然后选中该框以告诉 Pycharm 该项目依赖于您的其他项目。

我的文件夹层次结构与问题中的略有不同。我的是这样的

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

告诉 Pycharm src 依赖于此,MyDirectory为我解决了这个问题!

解决方案 12:

这对我有用:Top Menu -> File -> Invalidate Caches/Restart

解决方案 13:

很多时候发生的情况是插件没有安装。例如

如果您正在开发 django 项目,但未在 pyCharm 中安装 django 插件,则会显示错误“未解析的引用”。请参阅:
https: //www.jetbrains.com/pycharm/help/resolving-references.html

解决方案 14:

  1. --> 在 PyCharm 中右键单击文件所在的目录

  2. 转到 --> 将目录标记为

  3. 选择--> 源根

你的问题将得到解决

解决方案 15:

我也使用了像上面的 Dan 这样的虚拟环境,但是我能够在现有环境中添加解释器,因此不需要继承全局站点包,从而撤消虚拟环境试图实现的目标。

解决方案 16:

请检查您是否使用了正确的解释器。我收到错误“未解析的引用‘django’”,为了解决这个问题,我从项目设置中更改了项目解释器(将 Python 3 更改为 Python 2.7):选择项目,转到文件 -> 设置 -> 项目:-> 项目解释器 -> 浏览并选择正确的版本或解释器(例如 /usr/bin/python2.7)。

解决方案 17:

就我的情况而言,问题在于我使用的Virtual environment无法访问全局站点包。因此,解释器无法识别新安装的包。

要解决该问题,只需编辑或重新创建虚拟解释器并勾选该Inherit global site-packages选项。

在此处输入图片描述

解决方案 18:

在 PyCharm 2019.3.1 中完成
右键单击您的 src 文件夹 -> “将目录标记为” -> 单击“排除”,您的 src 文件夹应该是蓝色的。

解决方案 19:

我尝试了这里的所有方法两次甚至更多次。我终于解决了这个问题,我做了一些我在网上没有见过的事情。如果你去,你会发现底部Settings>Editor>File Types有一行。就我而言,我忽略了,这是我一直为我的虚拟环境命名的。所以我从要忽略的目录列表中删除了它,然后就好了!!我终于能够解决这个问题了。实际上,我为项目解决的所有导入问题都已修复。'Ignore Files and folders`'venv'`venv;

顺便说一句,我使用 PyCharm 安装了每个软件包,而不是通过终端。(意思是,通过转到Settings>Interpreter...)。我使缓存无效,更改了“Source Root”,重新启动了 PyCharm,刷新了我的解释器路径,更改了解释器,删除了我的 venv... 我什么都试过了。这终于奏效了。显然,这里有多个问题与不同的人有关,所以这可能对你不起作用,但如果其他方法都不起作用,这绝对值得一试,如果不行,也很容易逆转。

解决方案 20:

就我的情况来说:

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

在文件 1 中,我有:

from Directory2 import file2

其引发“未解析的引用 Directory2”。

我通过以下方式解决了它:

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

  • 将光标放在文件的另一行上,其中出现错误,以便将我的修改考虑进去

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

解决方案 21:

对我来说,将 virtualenv( venv) 的 site-packages 路径添加到解释器的路径中是可行的。终于!

在此处输入图片描述

解决方案 22:

我遇到了同样的问题,也尝试了很多建议,但都没有奏效,直到我找到了这篇文章(https://stackoverflow.com/a/62632870/16863617)。尽管他的解决方案对我来说不起作用,但它帮助我想出了将_ init.py _ 添加到 -->设置 | 编辑器 | 文件类型 | Python | 注册模式中的想法

截屏

未解决的引用错误现已解决。

解决方案 23:

请注意,如果您遇到 python 解释器无法安装软件包的问题,​​只需将文件夹PycharmProjects
C:\Users'username'\PycharmProjects的权限更改为每个

解决方案 24:

如果在 Python 文件名中使用破折号,也会出现此问题,因此强烈不建议这样做。

解决方案 25:

我在安装 aiogram 时遇到了导入问题。与此同时,机器人可以工作,但 pyCharm 用红色突出显示导入,没有给出提示。我多次尝试了上述所有方法。结果,下面的方法对我有帮助:我在以下路径
c\Users...\AppData\Roaming\Python\Python310\site-packages中找到aiogram文件夹
,并将其复制到文件夹
C:\Program Files\Python310\Lib\site-packages
之后,我重置了 pyCharm,就这样!

解决方案 26:

就我的情况而言,使用 Pycharm 2019.3 时,问题在于我忘记将扩展名“.py”添加到要导入的文件。添加后,错误消失,无需使缓存无效或执行任何其他步骤。

解决方案 27:

Pycharm 使用 venv。您应该在 venv 的控制台中明确安装软件包或进入settings -> project interpreter -> add interpreter -> inherit global site-packages

解决方案 28:

修复此问题的最简单方法是在 pyCharm 软件中执行以下操作:

点击:文件 > 设置 > (项目:您的项目名称) > 项目解释器 >

然后点击右侧的“+”图标搜索您想要的包并安装。

享受编码!

解决方案 29:

在较新版本的 pycharm 中,您只需右键单击要从中导入文件的目录或 python 包,然后单击“将目录标记为”->“源根目录”即可

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   4008  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   2751  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Freshdesk、ClickUp、nTask、Hubstaff、Plutio、Productive、Targa、Bonsai、Wrike。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在项目管理过程中面临着诸多痛点,如任务分配不...
项目管理系统   86  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Monday、TeamGantt、Filestage、Chanty、Visor、Smartsheet、Productive、Quire、Planview。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多项目经理和团队在管理复杂项目时,常...
开源项目管理工具   97  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Smartsheet、GanttPRO、Backlog、Visor、ResourceGuru、Productive、Xebrio、Hive、Quire。在当今快节奏的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在选择项目管理工具时常常面临困惑:...
项目管理系统   85  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用