如何修复“python安装已损坏”?

4ae*_*1e1 44 upgrade python

我正在从 13.10 升级到 14.04(现在是 dev,几个小时后稳定)使用do-release-upgrade并遇到以下问题:

Can not upgrade 

Your python install is corrupted. Please fix the '/usr/bin/python' symlink.
Run Code Online (Sandbox Code Playgroud)

经过一番折腾,我解决了这个问题,所以我想在这里分享我的解决方案。希望这可以帮助某人。

4ae*_*1e1 59

结果证明我的问题完全是由于/usr/bin/python错误消息中建议的符号链接改变了。我正在使用update-alternativeswith/usr/bin/python所以它指向/etc/alternatives/python. 事实证明do-release-upgrade,这个符号链接真的很严格,仅仅选择 python2.7update-alternatives是不够的,所以我最终强迫它恢复到原来的状态:

sudo ln -sf /usr/bin/python2.7 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

这解决了问题。

如果这对您不起作用,那么我猜您安装了真正损坏的 python。我建议

sudo apt-get install --reinstall python
Run Code Online (Sandbox Code Playgroud)


小智 20

这是正确的:

sudo update-alternatives --remove-all python
sudo ln -sf /usr/bin/python2.7 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

  • 这是完全正确的。在我首先使用 `update-alternatives --remove-all python` 删除所有现有之前,它对我不起作用 (2认同)

opi*_*no9 6

在 Ubuntu 18.10 中仍然存在同样的问题。

/usr/bin/python 链接到旧版本。甚至可以使用 2.7 之后的版本,但是这个超级智能的过程要求(在 18.10 中!)P 2.7。所以我给了它,它被接受了。

这为我解决了:

1)删除/usr/bin/python做 sudo rm /usr/bin/python

2) 创建一个新链接 sudo ln -sf /usr/bin/python2.7 /usr/bin/python

在 18.10 中,我不能使用sudo update-alternatives --remove-all pythonsudo apt-get install --reinstall python

为我工作。也希望能帮到你。


小智 5

如果您遇到以下情况/usr/bin/python3

sudo update-alternatives --remove-all python3
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

确保使用符号链接python3.6而不是3.7. 至少升级Ubuntu 18.1019.04.