![升级pip后出现错误信息](https://linux22.com/image/1564553/%E5%8D%87%E7%BA%A7pip%E5%90%8E%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF.png)
使用 pip 时,我不断收到有关我使用的是旧版本并且可以升级的消息,因此我这样做了:
pip install --upgrade pip --user
而在我的计算集群帐户中。
现在当我尝试时:
pip --version
我收到以下错误:
File "/opt/tools/python/2.7.13/bin/pip", line 7, in <module>
from pip import main
ImportError: cannot import name main
当我查看时:
.local/bin/
我懂了:
pip
pip2
pip2.7
有人建议我尝试将 pip 更改为 pip.old,但这似乎没有任何效果。
我无法改变任何内容:
/opt/tools/python/2.7.13/bin/
我想修复这个问题或者恢复到我以前使用的版本。
任何帮助将非常感激。
答案1
帮自己一个忙,安装pyenv
。安装您想要的任何 Python(例如pyenv install 3.6.5
),使用pyenv global 3.6.5
来全局设置版本,然后再也不用使用系统 Python。
我有同样的问题在 Ubuntu 下,这是因为没有正确的PATH
设置。
在 Ubuntu 下,为了重置系统,我首先做了以下操作pip
:
sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall
对于 Python 3,还有可选的选项:
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
然后,确保您的 shell 配置文件包含以下内容:
export PATH="${HOME}/.local/bin:$PATH"
重新加载 shell。现在,当您调用 时pip
,它应该会调用适用于 Python 2 的正确版本的 pip。
如果你想升级系统pip
,我不会给你任何建议,因为从我所见的情况来看,这甚至不被推荐(并且从可能由此产生的各种问题来看)。Python 的生态系统是有点破碎那里。