pip2报错ImportError: Entry point ('console_scripts', 'pip2') not found 求助
解决pip2的ImportError: Entry point ('console_scripts', 'pip2') not found问题
我之前也碰到过一模一样的情况,这种入口点找不到的问题,大多是pip的控制台脚本损坏,加上卸载过程中残留了不干净的文件导致的。给你几个靠谱的解决方法,按顺序试试:
方法一:用easy_install强制重装pip2
Python2默认自带easy_install(只要你的系统没删掉它),它能绕过pip的入口点问题直接完成修复安装。在终端执行:sudo easy_install-2.7 pip这个命令会重新安装适配Python2的pip,直接覆盖掉损坏的入口点脚本。
方法二:绕开pip2命令,直接调用pip模块
如果重装还是不行,试试直接用Python2的模块方式运行pip——这是绕开入口点问题的万能方案:python2 -m pip install [你的包名]要是这个能正常运行,你可以把它做成别名,以后用着更顺手。编辑你的shell配置文件(比如
~/.bashrc或者~/.zshrc),加上一行:alias pip2='python2 -m pip'保存后执行
source ~/.bashrc(对应你的配置文件),之后输入pip2就和正常命令一样好用了。方法三:彻底清理残留后重装
要是上面的方法都没效果,大概率是残留文件在搞鬼,手动清理后再重装:- 先找到pip2的可执行文件路径并删除:
sudo rm -f $(which pip2) - 找到Python2的site-packages目录里的pip相关文件并删除:
先执行这个命令获取site-packages路径:
然后进入输出的路径(一般是类似python2 -c "import site; print(site.getsitepackages())"/usr/local/lib/python2.7/site-packages),删除pip文件夹和所有以pip-开头的.dist-info文件夹:sudo rm -rf /usr/local/lib/python2.7/site-packages/pip* - 再用easy_install重新安装pip2:
sudo easy_install-2.7 pip
- 先找到pip2的可执行文件路径并删除:
方法四:用虚拟环境隔离系统Python2
如果是系统自带的Python2,折腾系统级的包容易出各种兼容问题,不如用虚拟环境单独搞一个干净的Python2环境:- 先用pip3安装virtualenv:
pip3 install virtualenv - 创建一个Python2的虚拟环境:
virtualenv -p python2 venv_py2 - 激活虚拟环境(Linux/macOS):
激活后你会看到终端前缀多了source venv_py2/bin/activate(venv_py2),这里面的pip就是正常的pip2,用完退出环境输入deactivate就行。
- 先用pip3安装virtualenv:
这些方法应该能解决你的问题,我之前用方法二和四解决过类似的情况。
内容的提问来源于stack exchange,提问作者Elena
相关产品推荐
相关产品推荐

