修订:2022年10月5日
Centos7.9系统默认gcc版本4.8.5 如图 最高支持Python3.6.5 更高版本就需要升级GCC版本,而GCC版本太高编译其他软件会存在版本不匹配需降级编译 故保守编译GCC8

安装依赖
sudo yum install -y gcc gcc-c++ make openssl-devel bzip2-devel libffi-devel zlib-devel升级GCC 安装centos-release-scl
sudo yum install centos-release-scl -y安装devtoolset
sudo yum install devtoolset-8-gcc* -y激活 devtoolset
scl enable devtoolset-8 bash替换GCC版本
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++查看gcc版本
gcc -v查看版本号
gcc --version
g++ --version
下载Python(当前最新版本3.10.7)
wget https://www.python.org/ftp/python/3.10.7/Python-3.10.7.tgz解压后进入Python
tar xzf Python-3.10.7.tgz && cd Python-3.10.7配置Python (方案1)
./configure --prefix=/usr/local/python3 --with-ssl-default-suites --enable-optimizations 配置Python (方案2) Perl需要5.x OpenSSL版本需要升级到1.1.1 强烈推荐此方案
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl/ --enable-optimizationsPerl编译安装(版本5可跳过)
wget https://www.cpan.org/src/5.0/perl-5.36.0.tar.gz
tar -xzf perl-5.36.0.tar.gz
cd perl-5.36.0
./Configure -des -Dprefix=/usr/local/perl
make
make installOpenSSL编译安装(版本1.1.1可跳过)
wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz
tar -zxvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak #看个人情况选择是否备份
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -sf /usr/local/openssl/include/openssl /usr/include/openssl
ln -sf /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -sf /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -sf /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
ln -sf /usr/local/openssl/lib/libcrypto.so.1.1 /usr/local/lib64/libcrypto.so
ln -sf /usr/local/openssl/lib/libcrypto.so.1.1 /lib64/libcrypto.so
ln -sf /usr/local/openssl/lib/libssl.so.1.1 /lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
openssl version编译Python
make为什么在编译的时候报错 大多数是GCC版本低于8.1, 编译成功如图

安装Python
make install配置软连接
ln -sf /usr/local/python3/bin/python3 /usr/bin/python3
ln -sf /usr/local/python3/bin/pip3 /usr/bin/pip3查看Python安装版本
python -V
python2 -V
python3 -V

Centos7.x 共存Python 存在yum报错
vi /usr/bin/yum把#! /usr/bin/python修改为
#! /usr/bin/python2修改urlgrabber-ext-down
vi /usr/libexec/urlgrabber-ext-down把#! /usr/bin/python修改为
#! /usr/bin/python2