【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
相关推荐
belldeep5 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
benchmark_cc6 小时前
A 股、港股、美股如何建立统一的标的主数据格式?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
维克兜率天6 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python
取名真是7 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想7 小时前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
数字融合7 小时前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
别问!问就是全会9 小时前
Jupyter Notebook 安装包下载|单元格分块运行,图表直接内嵌
ide·python·其他·jupyter
lzx_0029 小时前
Linux 进程(二) 深入理解进程
linux
深蓝AI9 小时前
Python 缓存击穿实测:16 个并发请求如何只回源 1 次
python
benchmark_cc9 小时前
用 00700.HK 做港股行情清洗:字段核对、校验与个人量化开发实践
python·数据分析·pandas·量化交易·股票数据·quantdash