CentOS python2升级到python3后的注意事项
由于CentOS系统默认使用的是Python2,升级到Python3后原来的一些系统软件就不可用了,需要做一些处理。 首先,一定要保留原来的Python2,不能覆盖掉了,否则系统所需Python2的软件都将无法正常使用。可以将Python3安装到/usr/local/python3下面,然后使用下面的命令做一个处理:
1cd /usr/bin
2mv python python2
3ln -s /usr/local/python3/bin/python3 python3
4ln -s python3 python
现在默认的python即升级为python3了。 此时,以下软件将不可使用:
1. yum yum将会出现如下错误
从图中可以看出yum的绝对路径为/usr/bin/yum,直接
vim /usr/bin/yum
可以看到文件头部默认使用的python路径为/usr/bin/python
把第一行的
#!/usr/bin/python
改为
#!/usr/bin/python2
即可
2. 添加、删除软件
通过
系统=>管理=>添加/删除软件
打开,或者使用命令:
gpk-application
打开如下工具界面,可以看到里面根本没有软件包列表
可以通过
whereis gpk-application
查看其路径:
通过vim查看内容:
是一个二进制可执行文件,不是一个python文件。 要找出使用的python文件,可以把/usr/bin/python改为/usr/bin/python1,让系统找不到python,再打开“添加/删除软件”界面,发现报了如下错误,“更多详情”里有详细的文件路径。
原来该软件使用了/usr/share/PackageKit/helpers/yum/目录下的脚本, 进入该目录可以查看到使用了如下一些脚本文件:
使用vim打开前面报错的文件:
vim yumBackend.py
可以看到:
这里使用了/usr/bin/python,同样改为/usr/bin/python2。 其它几个文件也一同修改掉即可。 现在再次运行gpk-application,可以看到有软件包了。
3.setup 这是一个控制台的图形化配置工具。
防火墙配置脚本:
1/usr/bin/system-config-firewall-tui
键盘配置脚本:
1/usr/sbin/system-config-keyboard
网络配置脚本:
1/usr/sbin/system-config-network-tui
验证配置脚本:
1/usr/share/authconfig/authconfig-tui.py
把以上几个文件中的python改为python2即可
4.pip
安装了python3后建议把原来的pip改名为pip2,再建一个pip的软链接
1mv /usr/bin/pip /usr/bin/pip2
2ln -s /usr/bin/pip2 /usr/bin/pip
其它有遇到不正常的软件,也可以使用前面的方法进行修改。
祝好!
- 原文作者:Witton
- 原文链接:https://wittonbell.github.io/posts/2019/2019-05-26-CentOS-python2升级到python3后的注意事项/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。