事件缘起我在Linux服务器(CentOS 7.8)安装Python3.10,并替换python软链接为python3之后,yum命令不可用。特此记录一下。
完整安装步骤如下:
Python3.10安装
- 1.使用yum程序提前安装Python依赖。
yum install wget zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make zlib zlib-devel libffi-devel -y
- 2.在服务器下载Python-3.10.11源码包。
wget https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz
- 3.解压刚刚已经下载成功的源码包。
tar -xvf /tmp/Python-3.10.11.tgz
- 4.进入源码目录进行配置。
./configure --prefix=/usr/local/python3.10.11
- 5.配置完成后,执行编译和安装。
make && make install
Linux软链接修改
- 1.进入服务器/usr/bin目录,查看python相关文件。可以看到当前服务器已经安装了Python2.7和Python3.6两个版本(其中Python2.7是yum程序必须的),这里我先演示将python3的软链接从Python3.6修改为我最新安装的Python3.10。
ll | grep 'python'
- 2.首先删除/usr/bin目录下原python3,然后建立新的python3软链接。
rm -f /usr/bin/python3
#建立新的软链接
ln -s /usr/local/python3.10.11/bin/python3.10 /usr/bin/python3
#任意目录执行python3即可查看效果
python3
- 3.同理,也可以将python软链接从Python2.7修改为Python3.10,只不过修改完成后还需要修复yum不可用的问题。
rm -f /usr/bin/python
#建立新的软链接
ln -s /usr/local/python3.10.11/bin/python3.10 /usr/bin/python
#任意目录执行python即可查看效果
python
- 4.但是很遗憾,现在yum程序不可用了。
- 5.不要慌,让我们来修复它。简单操作之后,yum程序又活过来了!
# 将以下两个文件首行/usr/bin/python修改为/usr/bin/python2(还记得python2软链接吗?)
vi /usr/libexec/urlgrabber-ext-down
vi /usr/bin/yum