python2升级到python3
一、编译安装
1、安装编译包
# 安装基础开发工具包 sudo yum groupinstall "Development Tools" -y sudo yum install -y make gcc openssl-devel bzip2-devel libffi-devel zlib-devel # 安装额外的依赖库 sudo yum install -y readline-devel sqlite-devel xz-devel tk-devel
注:关键依赖包说明
| 包名 | 作用 |
|---|---|
gcc |
C 编译器(必须) |
make |
构建工具(必须) |
openssl-devel |
SSL/TLS 支持(pip 等需要) |
bzip2-devel |
bz2 模块支持 |
libffi-devel |
ctypes 模块支持 |
zlib-devel |
压缩库支持 |
readline-devel |
交互式 Python 命令行增强 |
sqlite-devel |
SQLite 数据库支持 |
xz-devel |
LZMA 压缩支持 |
tk-devel |
Tkinter GUI 支持 |
2、下载Python3安装包:
# 进入 /usr/src 目录(可选) cd /usr/src # 下载 Python 3(以 Python 3.10 为例) sudo curl -O https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz sudo tar -xf Python-3.10.13.tar.xz python2: mkdir /usr/local/Python3 cd Python-3.10.13
3、编译安装
./configure --prefix=/usr/local/Python3 make j4 make install
4、修改老版本python链接
mv /usr/bin/python /usr/bin/python_2.7
5、建立新版本python软连接
ln -s /usr/local/Python3/bin/python3 /usr/bin/python
6、检查版本
python -V
7、修改会影响到yum
解决方法:修改两处
vi /usr/bin/yum vi /usr/libexec/urlgrabber-ext-down 将第一行 #! usr/bin/python改为#! usr/bin/python2.x(x为你原来的python的版本)
二、安装pip(编译安装会自动安装pip)
1、下载
wget https://bootstrap.pypa.io/get-pip.py
2、安装(python版本至少得是>=3.6)
python get-pip.py
3、查找pip安装路径
find / -name pip
4、将pip添加到系统命令
ln -s /usr/local/Python3/bin/pip /usr/bin/pip
三、使用yum源安装
版本受限(centos7 中只到 3.6)
1、安装 epel 和 epel-release 工具
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install epel-release
2、查看库里支持的版本
yum list | grep python3 | more
3、安装
yum install python36
4、测试
#python3 -V Python 3.6.8 #pip3 -V pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
四、py2 和 py3共存
1、安装必要的依赖
sudo yum groupinstall -y "Development Tools" sudo yum install -y openssl-devel bzip2-devel libffi-devel
2、下载源码
cd /usr/src sudo wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
3、解压源码
sudo tar xzf Python-3.10.0.tgz cd Python-3.10.0
4、配置、编译
sudo ./configure --enable-optimizations sudo make altinstall
注意:
--enable-optimizations:这个选项启用额外的优化,对于 Python 来说,它会启用 PGO(Profile Guided Optimization),以提高最终生成的 Python 可执行文件的性能。
altinstall :是为了避免覆盖系统默认的Python版本。
5、更新系统的Python指向到3.10版本(可选):
sudo ln -s /usr/local/bin/python3.10 /usr/local/bin/python3 sudo ln -s /usr/local/bin/pip3.10 /usr/local/bin/pip3
6、验证版本
python3 --version Python 3.10.0 pip3 -V pip 21.2.3 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
五、使用 Miniconda
直接运行的是最新版本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh # 创建 Python 3.10.13 环境 conda create -n py310 python=3.10.13 conda activate py310 # 验证 python --version

浙公网安备 33010602011771号