


解决方案:通过源码编译方式将 Python 升级至 3.11 版本(注:Python 3.10 亦满足需求,仅下载源不同)。值得一提的是,Alibaba Cloud Linux 4 已默认集成 Python 3.11,若未来迁移至新版系统可免除此类配置工作。
重要提示:若是生产环境,建议提前做好快照或在测试环境中通过后再到生产环境操作,以免影响业务。
适用于centos。
升级到python3.14最新版:https://blog.tag.gg/showinfo-3-36395-0.html
1、先查看当前pyton版本:
输出:python3 --version
[root@blog.tag.gg]# python3 --version
Python 3.6.8
说明:如果显示的版本是需要的版本则不用升级了。
2、安装编译所需环境
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel libuuid-devel wget curl make
3、下载并编译安装。
python3.11.9 本教程以python3.11.9为例
cd /tmp
wget https://mirrors.huaweicloud.com/python/3.11.9/Python-3.11.9.tgz
tar xzf Python-3.11.9.tgz
cd Python-3.11.9
make distclean
./configure --enable-optimizations
make -j$(nproc)
make altinstall
出现如下则表示编译安装成功:
Looking in links: /tmp/tmpnnsm7xw7
Processing /tmp/tmpnnsm7xw7/setuptools-65.5.0-py3-none-any.whl
Processing /tmp/tmpnnsm7xw7/pip-24.0-py3-none-any.whl
Installing collected packages: setuptools, pip
Successfully installed pip-24.0 setuptools-65.5.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
4、设置软连到3.11
查询python3.11的路径
输出:which python3.11
注册到 alternatives 系统[root@blog.tag.gg]# which python3.11
/usr/local/bin/python3.11
如果系统中还没有注册 python3.11,需要手动添加(假设 python3.6 的路径是 /usr/bin/python3.6)
执行如下命令
一定要将/usr/local/bin/python3.11换成您3.11安装路径。which python3.11可查询sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 2
注意:最后的数字 1 和 2 是优先级,数字越大优先级越高。这里设 3.11 为 2(更高),或者稍后手动选择。
步骤 3:切换默认版本
运行以下命令进行选择:
选择2sudo update-alternatives --config python3
[root@blog.tag.gg Python-3.11.9]# sudo update-alternatives --config python3
There are 2 programs which provide 'python3'.
Selection Command
-----------------------------------------------
1 /usr/bin/python3.6
*+ 2 /usr/local/bin/python3.11
Enter to keep the current selection[+], or type selection number: 2
再执行:
可看到正确的版本了。python3 --version
重要:升级后可能出现pip3无法使用问题。[root@blog.tag.gg Python-3.11.9]# python3 --version
Python 3.11.9
修复方法:
1、先执行如下命令看下是否能识别到pip3
输出如下,则表示没能识别到。pip3 --version
2、检查 pip 是否其实已经存在(可能只是没链接)-bash: pip3: command not found
需将/usr/local/bin更换为您python对应目录,可执行命令 which python3.11 查看路径。
执行命令:
输出:ls -l /usr/local/bin/pip*
这个显示则说明pip3存在,只是没软连。[root@blog.tag.gg Python-3.11.9]# ls -l /usr/local/bin/pip*
-rwxr-xr-x 1 root root 230 Jul 11 18:16 /usr/local/bin/pip3.11
3、创建软连
执行命令:
创建软连后执行如下命令查看能否识别到pip3sudo ln -sf /usr/local/bin/pip3.11 /usr/local/bin/pip3
输出:pip3 --version
输出看已经使用了python3.11下的pip了,版本是24.0[root@blog.tag.gg Python-3.11.9]# pip3 --version
pip 24.0 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
至此大功告成。





文章评论 本文章有个评论