PyCharm:ImportError 没有名为 X 的模块?
Posted
技术标签:
【中文标题】PyCharm:ImportError 没有名为 X 的模块?【英文标题】:PyCharm: ImportError no module named X? 【发布时间】:2019-06-07 10:43:40 【问题描述】:X 在此示例中代表您安装的任何模块或包。
问题:
我对名为 'X' 的包有疑问。
在 PyCharm 中,我收到一个错误 ImportError: No module named 'X'.
我的代码从终端运行没有任何问题。有什么帮助吗?
或
我用 pip 在 python3.4 上安装了 X。在终端中,当我导入 X 时,一切都很好,但是当我在 PyCharm 中导入它时,它会显示:ImportError: No module named 'X'"
。有什么帮助吗?
这基本上是日常问题,只是用不同的模块或包代替名称而不是 X。
在您安装的包或模块中没有问题,它在您当前用于项目的 PyCharm 项目解释器中。
以下答案通常是针对这个特定问题的解决方案。
【问题讨论】:
【参考方案1】:短版:
如果您在导入的模块下方有波浪线...
...移动模块名称并按Alt+Enter并选择Install package X
。
这应该(可能 !!!)安装您认为已安装的模块,但得到了ImportError
。
更长:
如果你想使用模块X:
转到File -> Settings -> Project:NameOfProject -> Project Interpreter
。
打开的窗口有一些特定区域:
-
这是 PyCharm 当前使用的项目解释器。您也可以在此处更改您的 python 环境。如果要添加手动创建的虚拟环境,请继续阅读。
小"cog" 或"gear" 用于添加、编辑或删除 环境。如果您想添加手动创建的虚拟环境,请在单击齿轮图标时选择
Add...
,并确保将正确的路径设置为您的虚拟环境的python.exe
。
重要提示:所有已安装包的列表,由包名称和版本表示。如果您尝试使用包,但得到了ImportError no module named 'X'
,请务必检查包是否在此处列出!!!。如果没有,说明当前python环境中没有安装,应该安装(继续阅读)。
一点+代表Install
。它可用于安装软件包。只需点击+符号,搜索一个包,找到后点击底部的Install Package
。您还可以指定所需的软件包版本。在下面的示例中,我们搜索了flask
包。
现在应该安装一个包并将其列在已安装的包中。
【讨论】:
【参考方案2】:PyCharm 使用自己的 Python 解释器为您的项目创建一个虚拟环境,您需要为您正在使用的解释器安装模块。为此,请转到 Settings -> Project: yourProjectName -> Python Interpreter,单击加号图标并选择您要安装的模块。 或者,您可以强制 PyCharm 使用您的其他解释器,方法是从我之前提到的 Python 解释器设置页面顶部的下拉列表中选择它。
【讨论】:
【参考方案3】:这有很多原因。 我要在这里提出的原因和解决方法是非常罕见,只是决定提出它,希望至少有一个人可以从这个答案中获得帮助。
问题
PyCharm 将 __init__.py
视为非 python 文件。
当您忘记在 您的代码的 __init__.py
文件中使用 .py
扩展名,然后您稍后添加扩展名时,就会发生这种情况。然后 pycharm 开始将所有 __init__.py
文件(甚至外部库文件)视为非 python。有多奇怪?
检测是否是这个问题
滚动单击库名称(不是模块名称)。
或右击并转到Declaration or Usages
您将看到库的 __init__.py
为纯文本。
如果您将代码视为纯文本,那就是问题所在!
解决方案
在 pycharm 导航中查找文件位置。如果使用虚拟环境,文件填写venv/lib/site-packages/library_name
。
右击__init__.py
,点击覆盖文件类型。选择python。
你会看到错误消失了!
【讨论】:
以上是关于PyCharm:ImportError 没有名为 X 的模块?的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:尝试安装软件包时没有名为 pip 的模块