修复CentOS7升级Python到3.6版本后yum不能使用的问题(续)

栏目: Python · 发布时间: 6年前

内容简介:修复CentOS7升级Python到3.6版本后yum不能使用的问题(续)

在上一篇文章中通过重装yum解决了无法使用 Python 3解释执行的问题,但是 yum -y update 后又会使得之前设置的软链接( ln -s /usr/local/bin/python3.6 /usr/bin/python )被替换成python2.7。为了把Python3设置为默认py解释器的同时保证yum能正常使用,还得从yum相关脚本下手。

不难猜测这些脚本都是使用py2语法,如果能把它们声明的解释器改成python2,那么问题就迎刃而解了。搜索了一下,发现在 /usr/bin/ 目录有7个yum相关的脚本,再加上前文提到的 /usr/libexec/urlgrabber-ext-down 共8个。

修复CentOS7升级Python到3.6版本后yum不能使用的问题(续)

1 解决方法

这里直接使用 shell 脚本来把这8个脚本文件中的 /usr/bin/python 替换成 /usr/bin/python2

#!/bin/bash
# FileName:      python3caseyumbug2.sh
# Description:   修复CentOS7升级Python到3.6版本后yum不能使用的问题(续)
# Simple Usage:  sh python3caseyumbug2.sh
# (c) 2018.01.28 vfhky https://typecodes.com/linux/python3caseyumbug2.html
# https://github.com/vfhky/shell-tools/blob/master/filehandle/python3caseyumbug2.sh


echo "begin handle /usr/bin/yum*."
ALL_YUM_FILES=$(find /usr/bin/ -type f -name "yum*")
for SINGLE_FILE in ${ALL_YUM_FILES}
do
    sed -i 's/#!\/usr\/bin\/python$/#!\/usr\/bin\/python2/' ${SINGLE_FILE}
done


echo "begin handle /usr/libexec/urlgrabber-ext-down."
sed -i 's/\/usr\/bin\/python$/\/usr\/bin\/python2/' /usr/libexec/urlgrabber-ext-down

echo "done."

exit 0

2 后记

通过上面的脚本处理后,即使CentOS7被设置成默认使用Python3.6来执行py脚本,yum工具也不会受到影响了。


以上所述就是小编给大家介绍的《修复CentOS7升级Python到3.6版本后yum不能使用的问题(续)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与抽象

数据结构与抽象

卡兰罗等著、严蔚敏等译 / 卡兰罗 / 清华大学出版社 / 2004-3 / 89.0

数据结构与抽象:Java语言版,ISBN:9787302093756,作者:Frank M.Carrano,Walter Savitch著;严蔚敏,袁昱,朱薇薇译;严蔚敏译一起来看看 《数据结构与抽象》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换