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

综合编程 2018-01-28 阅读原文

在上一篇文章中通过重装yum解决了无法使用Python3解释执行的问题,但是 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个。

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工具也不会受到影响了。

TypeCodes

责编内容by:TypeCodes阅读原文】。感谢您的支持!

您可能感兴趣的

嵌入Python系列 | 调用Python模块中无参数函数... 开发环境 Python版本:3.6.4 (32-bit) 编辑器:Visual Studio Code C++环境:Visual Studio 2013 需求说明 在用VS2013编写的Win32程序...
Quantum Physics Visualization With Python On this blog, I have decided to review some college level quantum chemistry for deriving electron orb...
《Python官方文档》5.数据结构 数据结构 本章会更细节的讲一些你已经学过的东西,同时也会加一些新的内容 5.1 List有关方法 list有许多方法,以下是list方法的所有实例: pythonlist.append(x)添加1个i...
有一种焦虑叫:什么都想学,但什么都学不会... 过年前在微信群里看到有个小伙伴在问:“自建博客用什么框架好?” 其实吧,这个问题还挺复杂的。 前端框架有 Jekyll、Hexo、Hugo… 代码托管有 Github Pages、Farbox、 http:// C...
Python爬虫案例-下载极客学院图片 涉及到的库 re 、requests、urllib、os 安装库 pip install re 、pip install requests .... Python 解释器 :pychram 目的: 1、保存网页源...