PyCharm 无法识别已安装的模块

Posted

技术标签:

【中文标题】PyCharm 无法识别已安装的模块【英文标题】:PyCharm doesn't recognise installed module 【发布时间】:2015-09-22 23:33:45 【问题描述】:

我在 Mac 上使用“请求”模块时遇到问题。我使用 python34 并通过 pip 安装了“请求”模块。我可以通过再次运行安装来验证这一点,它会告诉我模块已经安装。

15:49:29|mymac [~]:pip install requests
Requirement already satisfied (use --upgrade to upgrade): requests in /opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages

虽然我可以通过交互式 Python 解释器导入“请求”模块,但尝试在 PyCharm 中执行“导入请求”会产生错误“没有名为请求的模块”。我检查了我的 PyCharm Python 解释器设置,并且(我相信)它设置为与我的环境中使用的相同的 python34。但是,我也看不到 PyCharm 中列出的“请求”模块。

很明显,我在这里遗漏了一些东西。你们能建议我应该在哪里看或应该修复什么以使该模块正常工作吗?我的印象是,当我在我的环境中通过 pip 安装模块时,PyCharm 会检测到这些变化。但是,我这边好像出了点问题……

【问题讨论】:

which -a python 输出什么? 您应该为项目设置一个 virtualenv 并在其中安装请求。 which -a python 输出如下:23:47:55|mymac [~]:which -a python /opt/local/bin/python /usr/bin/python 然后 pip 正在为/usr/local/bin/python3 安装。将您的解释器设置为/usr/local/bin/python3。如果您通常使用Python 3.4.3 我会删除另一个,正如您所发现的那样,拥有同一个 python 的几个不同版本可能会很痛苦。删除是安全的,你只需要在处理你的系统python时小心。 您的系统 python 将是 2.7,即 /usr/bin/python,您的操作系统将使用您的系统 python,因此删除或更改它几乎肯定会破坏它,您可以安全地删除 python3 和 /opt/local/bin/python。正如 john 建议的那样,您可以将 virtualenv 用于不同的项目,这是一个隔离环境virtualenv.pypa.io/en/latest。我也喜欢 pyenv github.com/yyuu/pyenv。因此,请始终保留您的 /usr/bin/python,您可以删除或保留其他任何内容。 【参考方案1】:

如果您使用的是 PyCharms CE(社区版),请点击:

File->Default Settings->Project Interpretor

看到底部的+号,点击它。它将打开另一个包含大量可用模块的对话框。选择您的包(例如请求),PyCharm 将完成剩下的工作。

医学博士

【讨论】:

有时候那个加号不安装包,然后我通过pip安装但是Pycharm看不到这个,怎么办? 这个答案没有解决问题中的问题。 是的,但是为什么呢?有几千兆的包,为什么要安装两次?【参考方案2】:

在我的情况下,使用预先存在的 virtualenv 在编辑器中不起作用 - 所有模块都被标记为未解析的引用(运行自然有效,因为这在编辑器的配置之外,只是运行一个外部进程(不是那么容易用于调试))。 原来 PyCharm 没有添加 site-packages 目录...修复方法是手动添加它。

打开文件 -> 设置 -> 项目解释器,选择“显示全部...”(编辑配置)(1),选择您的解释器(2),然后单击“显示所选解释器的路径”(3) .

在该屏幕中,手动添加虚拟环境的“site-packages”目录 (4)(我也添加了“Lib”,这是一个很好的措施);完成并保存后,它们将出现在解释器路径中。

另一件不会有坏处的事情是在解释器的编辑框中选择“将此虚拟环境与当前项目关联”。

【讨论】:

这正是我在通过自制软件升级 python 版本后必须重置我的虚拟环境后解决此问题所需要的。【参考方案3】:

打开 pyCharm 的 python 控制台。单击重新运行。 它会在第一行说如下内容

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Applications/PyCharm.app/Contents/helpers/pydev/pydevconsole.py 52631 52632

在这种情况下 pyCharm 使用以下解释器

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 

现在启动控制台并运行以下命令

sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 -m pip install <name of the package>

这应该安装你的包:)

【讨论】:

【参考方案4】:

当您使用的软件包安装在环境之外(例如 Anaconda 或 virtualenv)时,会出现此问题。为了让 PyC​​harm 识别安装在特定环境之外的软件包,请执行以下步骤:

前往

Preferences -> Project -> Project Interpreter -> 3 dots -> Show All -> Select relevant interpreter -> 点击树形图标Show paths for the selected interpreter

现在检查哪些路径可用,并将指向环境之外的包安装目录的路径添加到解释器路径中。

要查找包位置,请使用:

$ pip show gym
Name: gym
Version: 0.13.0
Summary: The OpenAI Gym: A toolkit for developing and comparing your reinforcement learning agents.
Home-page: https://github.com/openai/gym
Author: OpenAI
Author-email: gym@openai.com
License: UNKNOWN
Location: /usr/local/lib/python3.7/site-packages
...

Location 下指定的路径添加到解释器路径,此处

/usr/local/lib/python3.7/site-packages

然后,让索引完成并可能另外重新打开您的项目。

【讨论】:

尽管违反了 Stack Overflow 代码,但我无法强调您在提供的答案方面对我的帮助有多大。我在屏幕前呆了 4 个小时,从一个问题跳到另一个问题。您的解决方案非常适合我 很高兴能为您提供帮助 真的很有帮助!顺便说一句,在 PyCharm CE 2020.2 中,Go to step 需要更新为 真的很有帮助!顺便说一句,在 PyCharm CE 2020.2 中,Go to 步骤需要更新为 Preferences -> Project -> Python Interpreter -> 齿轮 -> 全部显示 -> 选择相关解释器 -> 点击树形图标(显示所选解释器的路径)【参考方案5】:

Pycharm 无法识别已安装的本地模块,因为选择的 python 解释器是错误的。它应该是安装 pip 包的地方,即虚拟环境。

我在 Windows 中通过 pip 安装了软件包。在 Pycharm 中,既没有检测到它们,也没有显示任何其他 Python 解释器(我的系统上只安装了 python 3.6)。

我重新启动了 IDE。现在我能够看到在我的虚拟环境中创建的 python 解释器。选择那个 python 解释器,你所有的包都会被显示和检测到。享受吧!

【讨论】:

【参考方案6】:

使用双 python 2.73.42.7 作为默认值,我一直使用 pip3 为3.4 解释器安装模块,并使用pip2.7 解释器安装模块。

试试这个:

pip3 install requests

【讨论】:

请在答案中添加一些上下文。你的意思是 pip3 而不是 pip 会有所帮助吗? 这实际上对我很有帮助。我现在使用pip3 而不是pip,并且PyCharm(在Python3.x 上)正在自行升级和添加项目解释器。谢谢。 应该明确指定解释器:python3 -m pip install requests.【参考方案7】:

这是因为您在创建项目时没有选择两个选项:- ** 继承全局站点包 ** 提供给所有项目 现在您需要创建一个新项目,并且在选择项目解释器时不要忘记勾选这两个选项。

【讨论】:

【参考方案8】:

    如果您转到 pycharm 项目解释器 -> 单击已安装的软件包之一,然后将鼠标悬停 -> 您将看到 pycharm 正在安装软件包的位置。这是您应该安装软件包的地方。

    现在如果你这样做了sudo -H pip3 install &lt;package&gt; pip3 将其安装到不同的目录,即/usr/local/lib/site-packages

因为它与pycharm 知道的目录不同,因此您的包没有显示在pycharm 中。

解决方案:只需使用pycharm 安装包,方法是转到文件->设置->项目->项目解释器->单击(+)并搜索您要安装的包,然后单击确定。

->会提示你安装包成功,你会看到pycharm

【讨论】:

但是 pycharm 看不到 /usr/local,不是吗?【参考方案9】:

这也引起了我的注意,结果证明,我唯一需要做的就是重新启动 Pycharm。有时在您安装 pip 后,您无法将其加载到您的项目中,即使 pip 在您的设置中显示为已安装。无赖。

【讨论】:

【参考方案10】:

对于Anaconda

启动 Anaconda Navigator -> 环境 -> “Your_Enviroment” -> 更新索引 -> 重启 IDE。

帮我解决了。

【讨论】:

【参考方案11】:

在 pip 安装了我需要的一切之后。我去找口译员,把它重新指向原来的位置。 我的案例:/anaconda3/bin/python 中的 python3.6 使用 virtualenv...

此外,在我点击加号“+”安装新软件包之前。我不得不取消选择它右侧的 conda 图标。似乎情况正好相反,但只有这样它才能通过查询识别我拥有/需要的包。

【讨论】:

【参考方案12】:

在我的例子中,软件包是通过 setup.py + easy_install 安装的,它们最终位于 site_package 目录中的 *.egg 目录中,python 可以识别但 pycharm 不能识别。

我将它们全部删除,然后用 pip install 重新安装,然后它就可以工作了,幸运的是我正在处理的项目提出了一个 requirements.txt 文件,所以它的命令是:

pip install -r ./requirement.txt

【讨论】:

【参考方案13】:

在 Windows 上,我必须 cd 进入 venv 文件夹,然后 cd 进入脚本文件夹,然后 pip install 模块开始工作

cd venv
cd scripts
pip install module

【讨论】:

【参考方案14】:

我刚刚在一个全新的安装/项目中遇到了这个问题,但我正在使用 IntelliJ IDEA 的 Python 插件。它与 PyCharm 基本相同,但项目设置略有不同。对我来说,该项目指向了正确的 Python 虚拟环境,但甚至没有识别出内置模块。

原来 SDK 类路径是空的。我添加了 venv/lib/python3.8 和 venv/lib/python3.8/site-packages 的路径,问题得到解决。 File->Project Structure 并在 Platform Settings 下,单击 SDKs,选择您的 Python SDK,并确保类路径在那里。

【讨论】:

【参考方案15】:

我在使用 Virtualenv 创建项目时遇到了这个问题。

Neeraj Aggarwal 建议的解决方案对我有用。但是,如果您不想创建新项目,那么以下方法可以解决问题。

    关闭项目 找到文件/venv/pyvenv.cfg 使用任何文本编辑器打开此文件 设置 include-system-site-packages = true 保存 打开项目

【讨论】:

【参考方案16】:

解决方案很简单(PyCharm 2021.2.3 社区版)。 我在 Windows 上,但用户界面应该是相同的。 在项目树中,打开外部库 > Python 解释器 > venv > pyvenv.cfg。 然后改变:

include-system-site-packages = false

到:

include-system-site-packages = true

【讨论】:

【参考方案17】:
pip install --user discord

以上命令解决了我的问题,只需使用“--user”标志

【讨论】:

【参考方案18】:

在你的 pycharm 终端中运行 pip/pip3 install package_name

【讨论】:

以上是关于PyCharm 无法识别已安装的模块的主要内容,如果未能解决你的问题,请参考以下文章

我已经用pip安装了statsmodels 但是pycharm中找不到它,pycharm也无法安装

已安装 Node JS NPM 模块但无法识别命令

PyCharm 2016无法识别graphviz包2.38.xxx

我已经用pip安装了statsmodels 但是pycharm中找不到它,pycharm也无法安装

pycharm 无法识别 pygame 包

Pycharm无法识别__init__里import的包,ctrl时无法跳转