Ubuntu18.04源码编译Python3.10后pip版本适配问题咨询
问题解答
问题1:pip未关联Python3.10是否意味着编译过程存在问题?
大概率不属于编译故障,有两种常见的合理原因:
- 系统PATH优先级问题:Ubuntu 18.04默认PATH中系统预装软件所在的
/usr/bin目录优先级高于源码安装默认路径/usr/local/bin,直接执行pip --version或pip3 --version时,系统会优先匹配到Python3.8对应的pip版本,不是没有安装3.10对应的pip。 - 编译参数缺失:如果编译时没有添加
--with-ensurepip=install参数,源码安装Python时不会自动附带安装对应版本的pip,该配置不影响Python本身的核心功能,所以你可以正常使用Python3.10。
问题2:pip安装/升级操作的影响及正确方案
- 直接执行
python -m pip install --upgrade pip不会自动绑定到Python3.10,该命令关联的Python版本由当前环境下python命令的默认指向决定,默认状态下该命令只会操作Python3.8对应的pip。 - 不要执行
sudo apt-get install python-pip或sudo apt-get install python3-pip python-dev命令,这类apt安装命令只会给系统默认的Python3.8安装对应依赖,完全不会关联到你源码安装的Python3.10,还有可能打乱原有系统的Python配置。
正确操作步骤
- 先确认Python3.10的安装路径,执行命令:
which python3.10
执行后会输出绝对路径,默认安装场景下输出为/usr/local/bin/python3.10,下文以此路径为例。 - 用Python自带的ensurepip模块安装对应版本的pip,执行命令:
sudo /usr/local/bin/python3.10 -m ensurepip --upgrade
该操作只会给Python3.10安装专属的pip,完全不会影响系统自带的Python3.8环境。 - 验证安装结果,执行命令:
/usr/local/bin/pip3.10 --version
输出信息会明确标注对应Python3.10的路径,代表安装成功。
如果需要简化调用,可以在~/.bashrc文件中添加别名:alias pip3.10='/usr/local/bin/pip3.10'
添加后执行source ~/.bashrc生效,后续直接输入pip3.10即可调用对应版本的包管理工具,不会和系统默认的pip3命令冲突。
内容的提问来源于stack exchange,提问作者RTC222
相关产品推荐
相关产品推荐

