
Python3.7 をインストールしましたが、これをデフォルトの Python にする方法がわかりません。
以下を参照してください:
~/Documents/robosuite$ python3.7
Python 3.7.1 (default, Oct 22 2018, 11:21:55)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
KeyboardInterrupt
>>>
~/Documents/robosuite$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
コマンドを使用するときにpython3.7が表示されるようにしたいpython3
答え1
簡単な解決策は、.bashrc
次の行を編集して追加することです。
alias python3=python3.7
書き込むたびpython3
に に置き換えられますpython3.7
。
update-alternatives
または、推奨されるコマンドを使用することもできます。例:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
したがって、こちらの方python3.7
が優先度が高くなりますpython3.6
。次に、以下を使用します。
sudo update-alternatives --config python3
満足したらEnterキーを押してください
答え2
詳しくお話ししたいと思います以前の回答提示された 2 つのアプローチは同等ではなく、そのうちの 1 つはシステムを壊す可能性さえあります。問題は、「デフォルトの Python バージョンを変更する」ことによって実行できる 2 つの異なる操作があるということです。
簡単な要約
追加
alias python3=python3.7
に.bashrc
。
するないデフォルトの Python バージョンを変更するには、これを使用しますupdate-alternatives
。これにより、システム アプリケーションが壊れます。
詳細情報
Bash エイリアス
1つ目は、対話型シェルの場合、次のように記述するだけで、必要なPythonを簡単に開くことができるということです。
$ python
または
$ python3
これは、次の行を追加することで実現されます。
alias python3=python3.7
に。別のシェルを使用している場合は、これを適切な設定ファイルに追加します。また、何らかの理由で問題が発生した場合、問題のある行を削除してターミナルを再起動する.bashrc
だけでよいという利点もあります。.bashrc
update-alternatives
「デフォルトのPythonバージョンを変更する」の2番目の意味は、デフォルトのPythonバージョンを変更することです。全て対話型シェルから起動されていないプログラムも含む。これは、
$ sudo update-alternatives --config python3
しかし、Debian/Ubuntuのクリーンインストールでこれを実行すると、コマンドが返す結果が次のようになることに気づくでしょう。
update-alternatives: error: no alternatives for python3
経由で Python 3 の複数のバージョンがインストールされている場合でもapt
、これには非常に良い理由があります。
これの問題は、多くのシステムアプリケーションがPythonを使用しており、正確なディストリビューションによっては、多くがPython 3を使用していることです。コマンドによって呼び出されるバージョンをpython3
グローバルに変更すると、これらのアプリケーションはこのバージョンを使用するように強制されます。Python 3の異なるバージョンは大部分が互換性がありますが、リリース間で移動および削除された機能システム アプリケーションがこれらの機能を使用している場合、python3
新しいバージョンを起動するように変更すると、アプリケーションが壊れてしまいます。
テスト
VM に Ubuntu 18.04 の新規インストールを作成しました。bash エイリアスを追加しても、すぐに問題は発生しませんでした。
このupdate-alternatives
方法を使用すると問題が発生しましたapt
。具体的には、
ModuleNotFoundError: No module named 'apt_pkg'
update-alternatives
メソッドを実行した場合のシステムの修正
update-alternatives
を実行して壊れた場合でもapt
、システムを修復することは可能です。私のテストでは、ターミナルはまだ開くことができました。以下を実行することでデフォルトのPythonに戻すことができます。
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.X 1000
ここで、3.XはシステムのオリジナルのPython 3バージョンで、1000はそれが最上位にあることを確認するための高優先度です。次に、
$ sudo update-alternatives --config python3
元のシステム Python が選択されていることを確認します。システムを再起動すると、正常に戻ります。
答え3
$ sudo su
$ update-alternatives --install /usr/bin/python python /usr/bin/python3 1
... がすでにpython3.7
インストールされている場合
答え4
update-alternativesコマンドがないマシンの場合は、次のような簡単な解決策があります。
sudo ln -sf `which python3.7` `which python3`
通常(少なくとも私が見たすべてのケースでは)、python3/python2/pythonは特定のバージョンのpython実行ファイルへのシンボリックリンクにすぎません。このシンボリックリンクを変更すると、「デフォルトのpython」が変更されます。