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

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

内容简介:修复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不能使用的问题(续)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

一网打尽

一网打尽

[美]布拉德·斯通 / 李晶、李静 / 中信出版社 / 2014-1-15 / 49.00元

亚马逊最早起步于通过邮购来经营图书业务。但贝佐斯却不满足于仅做一名书商,他希望缔造亚马逊万货商店的神话——能提供海量的货源,并以超低的价格提供最具吸引力的便捷服务。为了实现这一诺言,他发展了一种企业文化,这种文化蕴含着执着的雄心与难以破解 的秘诀。亚马逊的这 一文化现在依旧在发扬光大。 布拉德·斯通非常幸运地得到采访亚马逊的前任和现任高管、员工以及贝佐斯本人、家人的机会,使我们第一次有机会深......一起来看看 《一网打尽》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具