简介

通常服务器上自带了 python2.7 环境,但由于版本太低,部署一些需要 python3 环境的应用就会被限制,但是 yum 命令又依赖 python2.7 环境,所以升级 python 时需要注意。本次安装版本为 3.8.5

安装 python3.8.5

官网下载地址:https://www.python.org/downloads/source/

选择 gzip 压缩的源码包,上传到服务器中

python下载界面

新建 python 安装路径

shell
1
mkdir -p /usr/local/python3.8

安装依赖

shell
1
yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel zlib*

解压 Python-3.8.5.tgz

shell
1
tar -zxf Python-3.8.5.tgz

进入 Python-3.8.5 目录

shell
1
cd Python-3.8.5

编译

shell
1
./configure --prefix=/usr/local/python3.8

安装

shell
1
make && make install

创建新的软连接

首先确定是否需要更换 python 命令,因为有时候服务器会需要 python2.x 版本的命令,例如 yum,虽然可以更换,但尽量不要动系统配置,防止出现奇怪的 bug,所以说想要侵入性小一点的方法可以换一个命令,例如:python3.8pip3.8,创建软连接即可:

shell
1
2
3
4
ln -s /usr/local/python3.8/bin/python3 /usr/bin/python3.8
ln -s /usr/local/python3.8/bin/pip3 /usr/bin/pip3.8
python3.8 -V
pip3.8 -V

到这里 python 安装就结束了,如果真的想要用 pythonpip 命令,继续往下看:

shell
1
2
3
4
rm -rf /usr/bin/python
rm -rf /usr/bin/pip
ln -s /usr/local/python3.8/bin/python3 /usr/bin/python
ln -s /usr/local/python3.8/bin/pip3 /usr/bin/pip

修改 yum 配置

升级 python3.8.5 以后,运行 yum 命令就会报错,需要修改 yum 的配置文件:

shell
1
vim /usr/bin/yum

yum配置

shell
1
vim /usr/libexec/urlgrabber-ext-down

yum配置

shell
1
vi /usr/bin/yum-config-manager

修改yum-config-manager

pip 换源

pip 更换国内源,可以提升 python 包的下载速度,建议更换

shell
1
vim ~/.pip/pip.conf

写下以下内容:

plaintext
1
2
3
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

升级 pip

shell
1
python -m pip install --upgrade pip

测试

shell
1
2
3
pip -V
python -V
yum --version

测试结果

升级完成

参考文章

Linux 下升级安装 python3.8

linux 更换 pip 源

Linux 系统中如何升级 pip