【问题标题】:PyCharm: ImportError no module named X?PyCharm:ImportError 没有名为 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 项目解释器中。
以下答案通常是针对这个特定问题的解决方案。
【问题讨论】:
标签:
python
pip
pycharm
package
importerror
【解决方案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。
你会看到错误消失了!