16.04 システムは次を返します:
python3 --version
Python 3.5.2
python2 --version
Python 2.7.12
目標が新しいバージョン (3.8.0) に移行することである場合、3.5.2 は 3.8 に「更新」されず、新しいバージョンが単にインストールされ、2 つのバージョンが共存しているように感じます。これは正しいですか、それとも 3.8 をインストールすると 3.5 は廃止されますか?
マシンを壊すようなことをする前に、3.8 をインストールすると次のことが起こることを理解したいと思います。
- 自動的に削除され、3.5.2 は廃止されますか?
- 3.5.2 が自動的に削除されない場合、同じマシン上で 3.5 と 3.8 を実行するとどのような問題が発生するのでしょうか?
- 3.5.2 が自動的に削除されずに削除した場合、依存関係が壊れてしまいますか?
- ベストプラクティスは何ですか?
- 3.5の場合そして3.8 がインストールされている場合、コマンドを呼び出すとどのバージョンが呼び出されますか
python3
?
質問 3 に関して: OSX は 2.7 が利用可能であると想定しているため、OSX から Python 2.7 を削除すると大きな問題が発生すると読みました。このため、いくつかの質問をせずに OS から Python のどのバージョンも削除することには躊躇しています。
どうやら、Python の 2 つのメジャー リビジョン (通常は 2.x と 3.x) が存在することは珍しいことではないようですが、私は 3.x のバージョンを 1 つ以上保持するつもりはありません。具体的には、Ubuntu に 3.5.2 と 3.8 を保持するつもりはありません。
答え1
あなたの場合は、Pyenvのようなソフトウェアを使うのが良いと思います。3.8は16.04には含まれていませんが、DeadsnakesのようなPPAが提供しています。Pyenvを使用すると、複数のPythonバージョンを管理できます。 pyenv は、以下の URL からダウンロードできます。
ターミナルで を実行しcurl https://pyenv.run | bash
、新しいターミナルを開きます。python3.5sudo mv $(which python3) $(which python3).5
は python3 ではなく python 3.5 を起動するようになりますpyenv install *
。ここで を実行します。最後に、 ですpyenv global *
。
アスタリスク (*) = 実行pyenv install --list
、インストールするバージョンを見つけて、* をそれに置き換えます。
出典:
pyenv は、以下の URL からダウンロードできます。(ピエンヴ)
pyenv インストーラ(インストール方法)
https://unix.stackexchange.com/questions/147420/コマンドとは何か
編集: ソースを追加し、where を which に置き換えました。where は ZSH のみであるためです。