Ubuntu20.04下如何修复pip未指向正确Python版本的问题
问题根因
Ubuntu 20.04 系统原生预装 Python 3.8,默认带的pip3完全绑定该版本的路径。手动安装 Python 3.10 并修改默认python3指向后,两个命令的版本映射错位:调用python3启动的是3.10版本,调用pip3时仍然走系统给3.8配套的旧版本,才会出现pygame安装路径不匹配、pip内部依赖导入失败(html5lib缺失)的连锁报错。
修复操作步骤
- 为Python 3.10安装专属匹配版本的pip
不要复用系统自带的旧pip,先拉取官方pip安装脚本:curl -sS https://bootstrap.pypa.io/get-pip.py -o get-pip.py
指定用Python 3.10执行脚本,安装对应版本的pip:sudo python3.10 get-pip.py - 配置pip3的默认指向,对齐Python3.10版本
先确认Python3.10对应pip的安装路径,执行:which pip3.10
常规安装下返回路径为/usr/local/bin/pip3.10,之后用update-alternatives配置命令优先级,让高版本的对应pip优先被调用:sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/lib/python3/dist-packages/pip3 1 sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/local/bin/pip3.10 2 - 校验路径匹配状态
依次执行以下命令,确认版本对应:
正常输出中,pip3的版本信息会明确标注对应Python 3.10,路径指向python3 --version which python3 pip3 --version which pip3/usr/local/lib/python3.10/dist-packages/pip,和python3的版本完全匹配。 - 重新安装pygame验证
路径对齐后直接执行安装命令:pip3 install --force-reinstall pygame
安装完成后进入Python3交互环境,执行import pygame无报错即修复完成。
注意:不建议直接修改
/usr/bin/python3的软链接指向自定义安装的Python版本,Ubuntu系统的apt、桌面组件等大量底层功能依赖原生Python3.8,直接覆盖软链接可能导致系统功能异常。多版本Python管理优先使用update-alternatives配置优先级,不要直接替换系统原生文件。
内容的提问来源于stack exchange,提问作者BroBot
相关产品推荐
相关产品推荐

