Centos7.9安装Python3.8.16解决yum无法使用问题
文章目录
- 前言
- 一、前期准备
- 1.下载到新建目录
- 2.安装依赖
- 二、编译
- 1.解压
- 2.编译安装
- 3.建立命令软链接
- 3-1.查看默认的python及新安装的python3都安装在哪?
- 3-2.修改python3的软链接
- 3-3.修改pip的软链接
- 三、修复yum
- 1.查看python2在哪个位置
- 2.修改/usr/libexec/urlgrabber-ext-down文件
- 3.修改/usr/bin/yum文件
- 4.再次运行yum测试结果
- 四、升级pip(可选)
- 结尾
前言
centos7.9默认的是python2.7,开发需要3.7以上,但yum安装不了,只能手动。这种情况与很多旧版本的linux系统相同,而且安装Python3.8后会与原系统出现兼容问题,我的解决方法如下:
一、前期准备
1.下载到新建目录
mkdir -p /usr/local/python3.8
cd /usr/local/python3.8
wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz
这里下载超慢,也没找到国内源,我的解决方法是先用迅雷下载,再上传到服务器。
2.安装依赖
sudo yum -y install \
openssl-devel \
zlib-devel \
bzip2-devel \
ncurses-devel \
sqlite-devel \
readline-devel \
tk-devel \
gcc \
make \
libffi-devel \
libuuid-devel \
zlib \
tkinter \
tcl-devel \
lzma \
gdbm-devel \
xz-devel
二、编译
1.解压
cd /usr/local/python3.8
tar -zxvf Python-3.8.16.tgz
cd Python-3.8.16
2.编译安装
cd /usr/local/python3.8/Python-3.8.16
./configure
make&&make install
时长约2分钟。这个警告信息来自pip(Python的包管理工具),它建议你不要以root(或超级用户)身份运行pip,这里暂时忽略。
3.建立命令软链接
3-1.查看默认的python及新安装的python3都安装在哪?
which python
which python3
3-2.修改python3的软链接
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
python -V
3-3.修改pip的软链接
ln -s /usr/local/bin/pip3 /usr/bin/pip
pip
pip -V
到这Python3.8.16的安装已经完成,但你会发现yum用不了
三、修复yum
yum是依赖python2.7支持,把python改成了3.8后会报错
1.查看python2在哪个位置
which python2
2.修改/usr/libexec/urlgrabber-ext-down文件
把原来的“#! /usr/bin/python”改成“#! /usr/bin/python2”
vi /usr/libexec/urlgrabber-ext-down
3.修改/usr/bin/yum文件
把原来的“#!/usr/bin/python”改成“#!/usr/bin/python2”
vi /usr/bin/yum
4.再次运行yum测试结果
yum check-update
四、升级pip(可选)
这里使用清华源
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
结尾
本篇未考虑安全问题,生产使用请自行判断。如果遇到其它问题请点评,我会进行验证修改。