小编典典

升级 pip 后出错:无法导入名称 'main'

all

每当我尝试使用 pip 安装任何软件包时,都会收到此导入错误:

guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'






guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())

它之前工作正常,我不确定它为什么会抛出这个错误。我已经搜索过这个错误,但找不到任何可以修复它的东西。

如果您需要更多详细信息,请告诉我,我会更新我的问题。


阅读 128

收藏
2022-03-13

共1个答案

小编典典

您一定是无意中升级了系统 pip(可能是通过类似的方式sudo pip install pip --upgrade

pip 10.x 调整其内部的位置。您看到的pip3命令是由您的包维护者提供的(大概是基于这里的 debian?),而不是由 pip 管理的文件。

您可以在pip
的问题跟踪器
上阅读更多相关信息

您可能不想 升级 系统 pip 而是使用 virtualenv。

要恢复pip3二进制文件,您需要sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

如果您想继续在“不受支持的领域”(在系统包管理器之外升级系统包),您可能可以python3 -m pip ...不用pip3.

2022-03-13