由于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

其它有遇到不正常的软件,也可以使用前面的方法进行修改。

祝好!