yum update 遇到错误提示:
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
将系统python升级为python3.x后,通常会出现python相关的工具报语法错误???
原因:/usr/bin/python指向了python3.x的链接,但系统的相关工具是基于python2.x开发的。
解决方案有两个:
方法1.打开相关工具中的脚本文件,找到#!/usr/bin/python,将这一行修改为“#!/usr/bin/python2.x”,x是python2的版本号,具体因系统python实际版本而变。
如系统python版本为2.7,使用yum时,报错提示语法错误时,则打开/usr/bin/yum,找到“#!/usr/bin/python”,并修改为“#!/usr/bin/python2.7”,然后就可以正常使用yum了,但如果当前的yum命令用到了其它python工具,可能也会提示语法错误,此时根据提示中列出的文件,将文件中的“#!/usr/bin/python”修改为“#!/usr/bin/python2.7”,问题就解决了;同理其它脚本报语法错误,也用相同方法处理,但个人觉得,如果python3用的少,方法2的解决办法会好些,不至于把所有报语法错误的python脚本都修改一遍.
方法2:
将python3.x的软链接指向/usr/bin/python3,上面的问题也可以解决,只是在需要使用python3时,需要在命令行键入“python3”,如果只键入"python"则系统会调用python2.x
#创建python3链接指令:
ln -sf /usr/local/python3.5/bin/python3 /usr/bin/python3
#将python重新指向到python2.x的指令:
ln -sf /usr/bin/python2.7 /usr/bin/python