当前位置: 首页 > 面试题库 >

成功安装pip后出现ImportError

黄彬
2023-03-14
问题内容

我已经成功安装了一个库pip install <library-name>。但是当我尝试导入它时,python凸起了ImportError: No module named <library-name>。为什么会出现此错误,如何使用已安装的库?


问题答案:

TL; DR :通常存在多个版本的python解释器和pip版本。使用python -m pip install <library- name>代替pip install <library-name>将确保将库安装到默认的python解释器中。

另请注意: 根据我的个人经验,我建议不要使用sudo pip install将包安装到系统的默认python解释器中。这可能会导致各种混乱的问题。每当您想致电pipsudo,请先检查virtualenv是否不是您的更好选择。

大多数现代系统都附带多个python解释器。每个解释器维护自己的一组已安装软件包。在安装新软件包时,重要的是要了解那些软件包实际安装在哪个解释器中。

在UNIX系统上,可以使用Shell来了解正在发生的事情。

键入会which -a python显示您所有语言中的所有口译员PATH。第一行对应于从命令行运行时使用的解释器python

/private/tmp/py32/bin/python
/usr/local/bin/python
/usr/bin/python

每个pip版本仅属于一个解释器。which -a pip显示所有的点子版本。同样,第一行是在键入pipShell时将被调用的内容。

/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版本。



 类似资料: