centos 7 编译安装 Python 3.13

centos 7 仓库自带Python 3.6,然而Python 3.6版本太落后了,有些脚本直接报语法错误。
这里自己编译安装 Python 3.13 ,独立使用 。

1.安装依赖


yum -y install gcc zlib zlib-devel libffi libffi-devel readline-devel openssl-devel openssl11 openssl11-devel

2.下载源码并编译


mkdir /usr/local/python313
cd /usr/local/python313
wget https://www.python.org/ftp/python/3.13.4/Python-3.13.4.tar.xz
tar -xvJf Python-3.13.4.tar.xz
cd Python-3.13.4
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
./configure --prefix=/usr/local/python313  --enable-optimizations
make
make install

3.查看Python 版本


/usr/local/python313/bin/python3 -V

4.替换默认的Python(可选)


由于一些脚本会调用默认位置的python,这里需要改一下路径。
 mv /usr/bin/python /usr/bin/python.bak
 mv /usr/bin/pip /usr/bin/pip.bak
 mv /usr/bin/python3 /usr/bin/python3.bak
 mv /usr/bin/pip3 /usr/bin/pip3.bak

 ln -s /usr/local/python313/bin/python3 /usr/bin/python3
 ln -s /usr/local/python313/bin/pip3 /usr/bin/pip3
 ln -s /usr/local/python313/bin/python3 /usr/bin/python
 ln -s /usr/local/python313/bin/pip3 /usr/bin/pip

5.修改依赖python2的文件


/usr/bin/yum
/usr/libexec/urlgrabber-ext-down
修改首行为
#!/usr/bin/python2

其他修改见参考文章:
https://juejin.cn/post/7258533971964575804

此处评论已关闭