Ubuntu安装Python3.9后pip仍默认对应Python3.8该如何解决
修复方案
问题根源:仅修改python3的alias只对当前用户的交互shell生效,且你安装的pip默认绑定了系统自带的Python3.8,并未关联Python3.9,可按以下步骤处理:
步骤1:为Python3.9安装对应版本的pip
首先确认Python3.9可执行路径:which python3.9
输出一般为/usr/bin/python3.9,随后安装对应版本的pip:
- 先安装依赖包:
sudo apt update && sudo apt install python3.9-distutils -y - 用Python3.9自带的ensurepip模块安装pip:
sudo python3.9 -m ensurepip --upgrade - 验证安装结果:
python3.9 -m pip --version,输出如果包含python3.9字样说明安装成功
步骤2:修正当前用户的pip默认指向
你之前仅配置了python3的alias,需要同步添加pip3的alias到shell配置文件:
- 如果你用bash,编辑
~/.bashrc文件;如果用zsh,编辑~/.zshrc文件,在末尾添加两行:alias python3='/usr/bin/python3.9' alias pip3='/usr/bin/pip3.9' - 刷新配置让改动生效:
bash执行:source ~/.bashrc
zsh执行:source ~/.zshrc
步骤3(可选):全局修改Python3和Pip3默认版本
如果需要让所有用户、非交互场景下的python3/pip3都指向3.9版本,可使用update-alternatives配置系统软链接:
- 配置Python3候选项:
执行sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2sudo update-alternatives --config python3,按照提示输入Python3.9对应的编号,回车确认即可 - 配置Pip3候选项:
执行sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/bin/pip3.8 1 sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/bin/pip3.9 2sudo update-alternatives --config pip3,选择Python3.9对应的pip版本即可
验证效果
执行以下命令确认指向正确:
python3 --version输出应为Python 3.9.xpip3 --version输出的路径中应包含python3.9字样- 也可以直接使用
python3.9 -m pip install 包名的形式安装包,该方式永远会绑定Python3.9,不会出现版本错配问题
注意事项
- 不要卸载系统自带的Python3.8,Ubuntu大量系统组件依赖该版本,卸载会导致系统功能异常
- 若执行apt安装Python相关包时,
python3-xxx格式的包默认仍然适配Python3.8,需要适配3.9的包请用pip安装
内容的提问来源于stack exchange,提问作者Ayush Singh
相关产品推荐
相关产品推荐

