简介

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

安装python3.8.5

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

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

python下载界面

新建python安装路径

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

安装依赖

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

1
tar -zxf Python-3.8.5.tgz

进入Python-3.8.5目录

1
cd Python-3.8.5

编译

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

安装

1
make && make install

创建新的软连接

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

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命令,继续往下看:

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的配置文件:

1
vim /usr/bin/yum

yum配置

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

yum配置

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

修改yum-config-manager

pip换源

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

1
vim ~/.pip/pip.conf

写下以下内容:

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

升级pip

1
python -m pip install --upgrade pip

测试

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

测试结果

升级完成

参考文章

Linux下升级安装python3.8

linux更换pip源

Linux系统中如何升级pip