参考文章:https://blog.51cto.com/wangshiyu/6253059
1、升级python
查看当前python版本
python --version
升级python
#选择一个目录放置python安装包,这里使用 /data
cd /data
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar -zxvf Python-3.7.1.tgz
cd Python-3.7.1
#如果没有升级过Python需要安装Python相关的依赖包
yum update -y
yum install -y make gcc gcc-c++
#生成Makefile文件
./configure
#编译
make
#安装
make install
#查看python
ll /usr/bin | grep python
#备份python文件
mv /usr/bin/python /usr/bin/python.bak
#创建软链接,使python命令指向python3
cd /usr/bin
ln -s /data/Python-3.7.1/python /usr/bin/python3
ln -s python3 /usr/bin/python
#查看python版本,若未生效,打开一个新的窗口再执行该命令试一试
python --version
2、yum调整
yum使用的是CentOS自带的python2,升级到python3后会导致yum不可用。
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
将这两个文件首行的"#!/usr/bin/python"改为"#!/usr/bin/python2"
#验证
yum --version
3、安装pip
#下载pip 官网地址:https://pypi.org/project/pip/#files
cd /data #选择一个目录放置pip安装包,这里使用 /data
wget https://files.pythonhosted.org/packages/ba/19/e63fb4e0d20e48bd2167bb7e857abc0e21679e24805ba921a224df8977c0/pip-23.2.1.tar.gz
tar -xvzf pip-23.2.1.tar.gz
cd pip-23.2.1
python setup.py install
若报“ModuleNotFoundError: No module named ‘setuptools’”,需要安装setuptools
cd /data
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python setup.py build
python setup.py install
若报 “ModuleNotFoundError: No module named ‘_ctypes’”,需要安装libffi-devel
yum install libffi-devel -y
#重新编译安装python
cd /data/Python-3.7.1
make clean
make && make install
若报“RuntimeError: Compression requires the (missing) zlib module”,需要安装zlib
安装zlib
#方法一:下载并安装
cd /data
wget https://zlib.net/zlib-1.3.tar.gz
tar -zxf zlib-1.3.tar.gz
cd zlib-1.3
./configure
make
make install
#方法二:直接使用yum安装
yum install -y zlib zlib-devel
#重新编译安装python
cd /data/Python-3.7.1
make clean
make
make install
验证
python
import zlib
import setuptools
import _ctypes
import pip
若还存在其他问题,可通过“rpm -qa | grep xxx”或“yum list installed | grep xxx”命令查看是否已存在该软件,若存在,可尝试通过“yum remove xxx”命令先删除,再重新安装。