回答:
/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
/etc/alternatives/python
シンボリックリンクされていません/usr/bin/python2.7
か?他に何か優先順位がありましたか?
/usr/bin/python2.7
は実際のバイナリであり、シンボリックリンクであってはなり/etc/alternatives/python
ません。
/usr/bin/python
はシンボリックリンクです/etc/alternatives/python
(もちろん/usr/bin/python2.7
バイナリですが、ここでは問題ではありません)。
/etc/alternatives/python
それからあなたが選択したものにシンボリックリンクされます(必ずしもそうではありません/usr/bin/python2.7
-なぜあなたupdate-alternatives
はその場合に必要なのでしょうか?)が、ポイントはシンボリックリンクが/usr/bin/python
あなたのために許可されていないということですdo-release-upgrade
。
これは正しいです:
sudo update-alternatives --remove-all python
sudo ln -sf /usr/bin/python2.7 /usr/bin/python
update-alternatives --remove-all python
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 python
またはを使用できませんsudo apt-get install --reinstall python
でした。
私のために働く。それがあなたにも役立つことを願っています。
ls -sf
ターゲットをオーバーライドするので、1)無意味であり、2)私の答えがあなたにそうするように言った通りです。なんて無駄
sudo rm
はまだ無意味です。
以下のための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