每当我试图使用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())
它之前工作得很好,我不知道为什么它会抛出这个错误。
我已经搜索了这个错误,但找不到任何方法来修复它。
如果你需要进一步的细节,请让我知道,我会更新我的问题。
不管怎样,我遇到了pip的问题(不是pip2或pip3):
$ pip -V
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
$ pip2 -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
$ pip3 -V
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
不知怎么的(我不记得是怎么的了),我在~/中安装了python的东西。本地目录。在我从那里删除pip目录之后,pip又开始工作了。
$ rm -rf /home/precor/.local/lib/python2.7/site-packages/pip
$ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
您可以使用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