为了
python
使用 Python3 解释在 RHEL7 VM 中调用的命令而不破坏yum
需要 Python2 的程序,需要更改或添加哪些特定语法?
第一次尝试:
cloud-init
我们的第一次尝试是将以下两行添加到实例化虚拟机的启动脚本的最后:
rm /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
导致的错误:
cloud-init
问题在于,将上述两行添加到启动脚本的末尾会导致命令在随后调用yum
时中断,如下所示:yum
$ sudo yum update -y
File "/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
$
切换错误:
cloud-init
我们可以通过从启动脚本中删除上述两行并重新实例化新的替换虚拟机来关闭该错误。这隔离了问题的根源,但我们仍然面临如何默认python
使用 Python3 而不破坏yum
.
答案1
以下是您可以在紧急情况下使用的快速技巧:
sed -i 1s/python/python2/ /bin/yum
我不会使用它作为解决方案 - 它会造成不一致,而且只能修复yum
。很可能还有其他系统或其他工具依赖于 pythin2。只是我的0.02。