前言
由于Python官方声明,自2020年1月1日起,Python 2将不再得到支持,因此在实际工作中,推荐大家使用Python3。本文以 centos7.9 为例,介绍Python3的下载和安装。
官网下载地址:https://www.python.org/
一、下载
1.1 Windows下载



1.2 Linux下载
wget -P /root https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
二、安装
2.1 配置yum仓库
powershell
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache
2.2 升级OpenSSL
- CentOS 7.9 系统默认预装的 OpenSSL 版本为 1.0.2k
Python 版本与 OpenSSL 版本兼容性
powershell
#查找文件
find / -name openssl
#备份文件
mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/lib64/openssl /usr/lib64/openssl_bak
#安装依赖包
yum -y install gcc gcc-c++ make zlib-devel perl-devel perl-IPC-Cmd perl-Data-Dumper
#下载文件
wget https://github.com/openssl/openssl/releases/download/openssl-3.1.1/openssl-3.1.1.tar.gz --no-check-certificate
#编译安装
tar zxvf openssl-3.1.1.tar.gz
cd openssl-3.1.1
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make && make install
#配置动态库并激活
echo "/usr/local/openssl/lib64" > /etc/ld.so.conf.d/openssl.conf
ldconfig -v
#创建软链接
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -sf /usr/local/openssl/include/openssl /usr/include/openssl
#配置环境变量
echo "export LD_LIBRARY_PATH=/usr/local/openssl/lib64:\$LD_LIBRARY_PATH" >> /etc/profile
echo "export PKG_CONFIG_PATH=/usr/local/openssl/lib64/pkgconfig:\$PKG_CONFIG_PATH" >> /etc/profile
source /etc/profile
#查看OpenSSL版本
openssl version
OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023)
2.3 安装依赖包
powershell
yum install zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc gcc-c++ make libffi-devel wget -y
注意:Python 3.10+ 需要 openssl >= 1.1.1
2.4 编译安装
powershell
tar xzvf Python-3.10.12.tgz
cd Python-3.10.12
./configure --prefix=/usr/local/python3.10 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
make 或 make -j $(nproc)
make altinstall
参数解释:
--prefix:指定Python安装路径
--enable-optimizations:启用编译优化,Python 3.8+ 必须用GCC 8+编译,否则报错
--with-openssl:指定openssl安装路径
--with-openssl-rpath:自动设置openssl运行路径
--enable-shared:编译共享库
注意:
1)make -j $(nproc),可以指定线程数量,加快编译安装。nproc查看cpu核心数。
2)使用 altinstall 而不是 install 可以避免覆盖系统默认的Python 2.7版本。
2.5 查看生成的文件
powershell
ls -lh /usr/local/python3.10/

2.6 配置动态库并激活
powershell
echo "/usr/local/python3.10/lib" >>/etc/ld.so.conf.d/python310.conf
ldconfig -v
2.7 删除旧版本Python环境
由于centos7默认安装Python2环境,文件是/usr/bin/python,为了使用方便,需删除旧版python环境。
powershell
rm -f /usr/bin/python
2.8 创建软链接
powershell
ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python
ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3
ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip
2.9 查看版本
powershell
python --version
Python 3.10.12
pip --version
pip 23.0.1 from /usr/local/python3.10/lib/python3.10/site-packages/pip (python 3.10)
2.10 测试使用
powershell
python
Python 3.10.12 (main, Dec 10 2025, 16:03:32) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
到此,Python3环境已经成功安装了!!!
三、其他问题
由于centos7系统中很多工具和命令是依赖于自带的python2环境,但是建立新的软链接将系统的python2版本升级为python3后,要手动将这些重要的命令指回原来的python2路径,避免出现因为python版本问题造成的系统工具和指令不可用的问题。
1、修改yum依赖的python版本
powershell
vi /usr/libexec/urlgrabber-ext-down

2、修改/usr/bin/yum文件
powershell
vi /usr/bin/yum

3、修改防火墙依赖的python版本
powershell
vi /usr/bin/firewall-cmd

4、修改/usr/sbin/firewalld文件
powershell
vi /usr/sbin/firewalld

