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

查看所有标签

猜你喜欢:

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

Linux内核设计与实现

Linux内核设计与实现

拉芙 / 陈莉君、唐华、张波 / 机械工业出版社 / 2006-1 / 38.00元

《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。主要内容包括:进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。 本书适合作为高等院校操作系统课程的教材......一起来看看 《Linux内核设计与实现》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具