我安装了较新版本的python(3.2.3)而不是Fedora16中可用的版本(python2.7)
现在yum
停止工作了。它显示以下错误。
[root@localhost yum-3.4.3]# yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
请告知如何解决错误。这将是有帮助的,因为我无法更新或安装任何包。
答案 0 :(得分:37)
因为yum
不支持Python3
。
您可以在第一行运行命令vi /usr/bin/yum
,将/usr/bin/python
更改为/usr/bin/python2
。
因此,您可以按yum
而不是Python2
运行命令Python3
。
答案 1 :(得分:13)
我猜你从源代码安装了Python 3.2.3,并使用“make install”作为最后一个命令。该命令具有使用新版本替换系统安装的版本命令“python”的不幸副作用。使用“make altinstall”不能取代“python”。
命令“python”只是“python2”的符号链接,而“python2”又是“python2.7”的符号链接。您应该能够通过执行以下命令来恢复“python”:
cd /usr/bin
sudo ln -s python2 python
答案 2 :(得分:11)
当用户升级到python3时会发生此问题,只需编辑文件 - > / usr / bin / yum并将第一行更改为 - > "#的/ usr /斌/ python2"
上述解决方案无法解决所有yum依赖问题,最好运行以下命令。
sudo ln -s / usr / local / bin / python3 / usr / bin / python3(将最新的python标记为python3)
sudo ln -sf /usr/bin/python2.7 / usr / bin / python(nake 2.7默认为python)
谢谢, 达曼
答案 3 :(得分:3)
感谢达曼维尔!更改/ usr / bin / yum中的行有效!
这是一个不太重要的话题,可能会被删除,但可能会帮助某人。
这些是我在Centos上安装Python 3.7并修复yum错误的步骤。
tar -xvf
./configure --enable-optimizations
make
make install
OR
make altinstall
make altinstall用于防止替换默认的python二进制文件/ usr / bin / python。
cd /usr/bin
rm python
输出:rm:删除符号链接“ python”? y
whereis python3.7
OUTPUT: python3: /usr/local/bin/python3.7
/usr/local/bin/python3.7 --version
OUTPUT: Python 3.7.0
ln -s /usr/local/bin/python3.7 python
python --version
输出:Python 3.7.0
File "/bin/yum", line 30
except KeyboardInterrupt, e:
SyntaxError: invalid syntax
vi /usr/bin/yum
#!/usr/bin/python2
答案 4 :(得分:1)
真正的答案-确保您使用的是受支持的python版本(如果您正在寻找RHEL 7的问题)。
cd /usr/bin
sudo unlink python
sudo ln -s python2 python
答案 5 :(得分:0)
这只是一个二进制链接问题。您可以从任何系统复制工作 /usr/bin/python2
并复制到当前系统位置 /usr/bin/python2
#cd /usr/bin
#ln -s python2 python
答案 6 :(得分:0)
你的 yum 正在寻找 python2。让我们使用“alternatives”来在pythons2和python3之间切换。
如果你不配置它。如何做到这一点?
sudo 替代方案 --install /usr/bin/python python /usr/local/bin/python3.8 60
sudo 替代方案 --install /usr/bin/python python /usr/bin/python2 50