问题描述
我使用 do-release-upgrade
从 13.10 升级到 14.04(目前为开发版,几个小时后稳定),遇到以下问题:
Can not upgrade
Your python install is corrupted. Please fix the '/usr/bin/python' symlink.
我费了一番周折才解决这个问题,所以我想在这里分享我的解决方案。希望这能对大家有所帮助。
最佳回答
我的问题完全是由于错误消息中建议的更改的 /usr/bin/python
符号链接造成的。我将 update-alternatives
与 /usr/bin/python
一起使用,因此它指向 /etc/alternatives/python
。事实证明, do-release-upgrade
对此符号链接的要求非常严格,仅选择 python2.7 和 update-alternatives
是不够的,所以我最终将其强制恢复到原始状态:
sudo ln -sf /usr/bin/python2.7 /usr/bin/python
问题就解决了。
如果这对你不起作用,那么我猜你的 Python 安装确实损坏了。我建议
sudo apt-get install --reinstall python
次佳回答
这个是正确的:
sudo update-alternatives --remove-all python
sudo ln -sf /usr/bin/python2.7 /usr/bin/python
第三种回答
在 Ubuntu 18.10 中仍然存在同样的问题。
/usr/bin/python 链接到较旧的版本。甚至 2.7 之后的版本也可用,但这个 super-smart 进程要求(在 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 python
或 sudo apt-get install --reinstall python
。
对我有用。希望它也能帮到你。
第四种回答
如果您遇到与 /usr/bin/python3
相关的问题,那么:
sudo update-alternatives --remove-all python3
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3
确保符号链接 python3.6
而不是 3.7
。至少在将 Ubuntu 18.10
升级到 19.04
时需要这样做。
第五种回答
对于 Ubuntu 19.04,默认的 python 版本是 3.7 。升级到 Ubuntu 19.10 时我遇到了同样的错误,以下方法有所帮助:
sudo apt-get install --reinstall python3
sudo ln -sf /usr/bin/python3.7 /usr/bin/python3
如果您的 python 包出现非常严重的问题,唯一的办法就是强制删除它,然后重新安装它:
sudo dpkg --remove --force-remove-reinstreq --force-depends python3
sudo apt-get -f install