web-dev-qa-db-ja.com

Pythonシンボリックリンクが混同されている

Ubuntu16.04の使用

python3コマンドのデフォルトとしてpython 3.6を設定しようとしました。答えと思われるものを見つけ、注意深く読まずに次の行をすばやくコピーして貼り付けました。

$ Sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1
update-alternatives: using /usr/bin/python3.6 to provide /usr/bin/python (python) in auto mode
$ Sudo update-alternatives  --set python /usr/bin/python3.6

これが結果です:

$ python3
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
$ python
Python 3.6.8 (default, Dec 24 2018, 19:24:27)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.python

私の友人はそれを次のように戻そうとしました:

$ Sudo update-alternatives --install /usr/bin/python3.6 python /usr/bin/python 1
update-alternatives: renaming python link from /usr/bin/python to /usr/bin/python3.6

そしてこれが結果でした:

$ python
zsh: command not found: python

そして、python 3.6でリンクされたものはすべて、次の例のように、「シンボリックリンクのレベルが多すぎます」というエラーを受け取ります。

$ Sudo update-alternatives --config python
update-alternatives: warning: alternative /usr/bin/python (part of link group python) doesn't exist; removing from list of alternatives
update-alternatives: error: cannot stat file '/usr/bin/python3.6': Too many levels of symbolic links

大きな問題は、私の友人のようにターミナルを閉じると、ターミナルアプリがすべて一緒に機能しなくなることです。彼は今Ubuntuを再インストールする必要があります。そして、私は同じ状況にありますが、それでもDID端末を閉じないでください。(今のところ)すべてが正常に機能しています。

シンボリックリンクを逆にするにはどうすればよいですか?

1
Oleg Suzdalev

Pythonパッケージは代替手段を使用しません;動作中のセットアップを復元するには:

Sudo update-alternatives --remove-all python
cd /usr/bin
Sudo ln -sf python2.7 python
Sudo ln -sf python3.5 python3

python3.6バイナリを上書きしたように見えるため、おそらくPython 3.6パッケージを再インストールする必要があります。

4
Stephen Kitt