每当我试图使用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())

它之前工作得很好,我不知道为什么它会抛出这个错误。 我已经搜索了这个错误,但找不到任何方法来修复它。

如果你需要进一步的细节,请让我知道,我会更新我的问题。


当前回答

正如@cryptoboy所说-检查你安装的pip/python版本

 demon@UbuntuHP:~$ pip -V
 demon@UbuntuHP:~$ pip2 -V
 demon@UbuntuHP:~$ pip3 -V

然后在.local/lib/文件夹中检查不需要的库。

当我迁移到更新的Kubuntu时,我备份了设置,在我的主目录中有.local/lib/python2.7/文件夹。安装python 3.6。我刚刚删除了旧文件夹,现在一切都很好!

其他回答

您可以通过重新安装pip来解决此问题。

使用以下命令行命令之一重新安装pip:

Python2:

python -m pip uninstall pip && sudo apt install python-pip --reinstall

Python3:

 python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

您可以使用update-alternatives简单地修复PIP和pip3路径

首先要检查的是当前的$PATH 执行echo $PATH,查看是否可以找到pip3和pip通常所在的/usr/local/bin

有一个变化,您的系统在这里查找/bin/pip和/bin/pip 所以我将通过添加到你的~/来修复PATH。Bash_profile文件,因此它会持续存在

导出路径= $路径:/ usr /地方/ bin 然后检查它是用哪个PIP和哪个pip3固定的

如果没有,最后使用update-alternatives来修复它

update-alternatives --install /bin/pip3 pip3 /usr/local/bin/pip3 30

如果你想把PIP指向pip3,那么

update-alternatives --install /bin/pip pip /usr/local/bin/pip3 30

正如@cryptoboy所说-检查你安装的pip/python版本

 demon@UbuntuHP:~$ pip -V
 demon@UbuntuHP:~$ pip2 -V
 demon@UbuntuHP:~$ pip3 -V

然后在.local/lib/文件夹中检查不需要的库。

当我迁移到更新的Kubuntu时,我备份了设置,在我的主目录中有.local/lib/python2.7/文件夹。安装python 3.6。我刚刚删除了旧文件夹,现在一切都很好!

我也有同样的错误,但是python -m pip仍然在工作,所以我用核选项sudo python -m pip install -upgrade pip来修复它。它为我做到了。

你可以试试这个:

sudo ln -sf $( type -P pip ) /usr/bin/pip