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)时,会出现此问题。为了让 PyCharm 识别安装在特定环境之外的软件包,请执行以下步骤:
前往
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.7
和 3.4
和 2.7
作为默认值,我一直使用 pip3 为3.4
解释器安装模块,并使用pip
为2.7
解释器安装模块。
试试这个:
pip3 install requests
【讨论】:
请在答案中添加一些上下文。你的意思是 pip3 而不是 pip 会有所帮助吗? 这实际上对我很有帮助。我现在使用pip3
而不是pip
,并且PyCharm(在Python3.x 上)正在自行升级和添加项目解释器。谢谢。
应该明确指定解释器:python3 -m pip install requests
.【参考方案7】:
这是因为您在创建项目时没有选择两个选项:- ** 继承全局站点包 ** 提供给所有项目 现在您需要创建一个新项目,并且在选择项目解释器时不要忘记勾选这两个选项。
【讨论】:
【参考方案8】:如果您转到 pycharm
项目解释器 -> 单击已安装的软件包之一,然后将鼠标悬停 -> 您将看到 pycharm
正在安装软件包的位置。这是您应该安装软件包的地方。
现在如果你这样做了sudo -H pip3 install <package>
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也无法安装
PyCharm 2016无法识别graphviz包2.38.xxx