pip 安装成功后出现 ImportError [重复]
- 2025-03-04 08:23:00
- admin 原创
- 100
问题描述:
我已经成功使用 安装了一个库pip install <library-name>
。但是当我尝试导入它时,python 引发了ImportError: No module named <library-name>
。为什么我会收到此错误以及如何使用已安装的库?
解决方案 1:
TL;DR:通常存在多个版本的 Python 解释器和 pip 版本。使用python -m pip install <library-name>
而不是pip install <library-name>
将确保库安装到默认的 Python 解释器中。
还请注意:根据我的个人经验,我建议不要使用sudo pip install
将包安装到系统的默认 Python 解释器中。这可能会导致各种混乱的问题。每当您想使用时pip
,sudo
请先检查虚拟环境是否不是更好的选择。
大多数现代系统都附带多个 Python 解释器。每个解释器都维护自己的一组已安装软件包。安装新软件包时,了解这些软件包实际安装在哪个解释器中非常重要。
在 unix 系统上,可以使用 shell 来了解到底发生了什么。
输入which -a python
将显示 中的所有解释器。第一行对应于从命令行PATH
运行时使用的解释器。python
/private/tmp/py32/bin/python
/usr/local/bin/python
/usr/bin/python
每个 pip 版本都只属于一个解释器。which -a pip
显示所有 pip 版本。同样,第一行是您pip
在 shell 中输入时将调用的内容。
/usr/local/bin/pip
/usr/bin/python
请注意,在这种情况下,python
属于 中安装的解释器/private/tmp/py32/
,但pip
安装到 解释器 中/usr/local/bin
。成功安装库后,您将无法将其导入到默认的 Python 解释器中。
那么如何导入已安装的库呢?
您的第一个选择是使用其完整路径启动所需的解释器。因此,如果您输入/usr/local/bin/python
,您将能够导入该库。
第二个选项(通常是首选)是专门调用正确版本的 pip。为此,您可以使用python -m pip install <library-name>
而不是pip install <library-name>
。这将调用属于您的默认 Python 解释器的 pip 版本。
解决方案 2:
另外几点:
检查您是否正在将库安装到您想要使用的虚拟环境中。
有些库的包名和库名不一样。你可以在网上查看它们的文档(用关键词搜索
python <library>
通常会显示相关信息)来查看是否正确导入了包。
扫码咨询,免费领取项目管理大礼包!