【Linux】Python3 环境的下载与安装

前言

由于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
相关推荐
Java后端的Ai之路6 小时前
【Python 教程15】-Python和Web
python
Coder个人博客7 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
冬奇Lab8 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
Doro再努力10 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp10 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
二十雨辰10 小时前
[python]-AI大模型
开发语言·人工智能·python
Doro再努力10 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene10 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
Yvonne爱编码10 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
忧郁的橙子.10 小时前
02-本地部署Ollama、Python
linux·运维·服务器