クイックサマリー

クイックサマリー

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

するいいえupdate-alternativesシステムアプリケーションがクラッシュする可能性があるため、デフォルトのPythonバージョンを変更するために使用されます。

詳しくは

バッシュエイリアス

まず、インタラクティブシェルの場合は、次のように書いて、必要な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

合格してもaptその理由があります。

問題は、多くのシステムアプリケーションがPythonを使用し、特定のディストリビューションに応じて、多くのアプリケーションがPython 3を使用していることです。python3コマンドで呼び出されたバージョンをグローバルに変更すると、アプリケーションはそのバージョンを使用します。 Python 3の複数のバージョンはデフォルトで互換性がありますが、まだいくつかの問題があります。バージョン間の移動と削除機能。システムアプリケーションがこれらの機能を使用している場合は、python3最新バージョンを実行するように変更するとアプリケーションがクラッシュします。

テスト

仮想マシンに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」を変更する必要があります。

関連情報