为何pip关联Python3而python默认Python2.7?如何切换至Python2
问题原因及系统级解决方法
为什么添加Python2路径到PATH无效?
- 路径添加错误:你追加的
/usr/bin/python是Python2的可执行文件路径,而非pip2的路径。pip2的默认路径通常是/usr/bin/pip2,二者不存在直接关联。 - PATH优先级问题:你把路径追加到
$PATH末尾,系统会优先搜索PATH靠前位置已有的pip命令(关联Python3的版本),新添加的路径不会被优先匹配。 - 软链接指向问题:当前系统的
pip软链接默认指向pip3,直接执行pip会调用Python3的pip,和PATH里的Python2路径无关。
系统级切换pip关联Python2.7的方法
方法1:直接修改软链接
- 删除现有
pip软链接:sudo rm /usr/bin/pip - 创建指向pip2的新软链接:
sudo ln -s /usr/bin/pip2 /usr/bin/pip - 验证结果:
此时应显示关联Python2.7的pip版本。pip --version
方法2:用update-alternatives管理(仅Debian/Ubuntu系)
该方法支持灵活切换pip默认版本,适合需要在Python2/3间切换的场景:
- 注册pip2和pip3为备选版本:
数字1、2为优先级,数值越小优先级越高。sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip2 1 sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 2 - 选择默认pip版本:
按提示输入对应pip2的编号,回车即可完成切换。sudo update-alternatives --config pip
前置注意事项
若系统未安装pip2,需先执行安装命令:
sudo apt-get install python-pip
内容的提问来源于stack exchange,提问作者Shivangi Singh
相关产品推荐
相关产品推荐

