python3
はUbuntu 18.04のデフォルトpythonバージョンであり、python2
はUbuntu 18.04の新規インストールではデフォルトで出荷されないため、Ubuntu 18.04(16.04から)にアップグレードした後にpython3
をデフォルトにするにはどうすればよいですか?現在、python2
へのアップグレード後もデフォルトのままです(例:python
コマンドはpython2
などに指示します)。ただし、python
パッケージを削除すると、それに依存するパッケージが削除されすぎてしまうため、ここではオプションではありません。
理想的には、python2
依存関係を可能な限り削除したいです。アップグレードプロセスは、python2
依存関係にまだ依存しているかどうかにかかわらず、すべてのパッケージをチェックし、それによって同等のpython2
依存関係で置き換えられる可能性のあるpython3
依存関係をすべて収集するように設計できます(アップグレードによって解決されます) 。
Python2を完全に削除するには、python2.x-minimal
パッケージを削除する必要があります。
Sudo apt purge python2.x-minimal
xをシステム上のpython 2の正確なバージョンに置き換えます。ただし、アップグレード後もpython 2に依存するパッケージを実行している可能性があるため、削除された他のパッケージを確認してください。これらのパッケージもアンインストールされ、動作しなくなります。
'default' pythonインタープリターのようなものはありません。これは/usr/bin/python
が指す実際のファイルに依存しているため、これをpythonに変更するにはln
を使用しますリンクを更新するコマンド。たとえば、python 3.6を指すようにしたい場合
Sudo ln -sfn /usr/bin/python3.6 /usr/bin/python
あるいは、これをユーザーにだけ必要とする場合は、.bashrc
でエイリアスとして設定し、それを行うには、選択したエディターで~/.bashrc
を開き、次の行を追加します。
alias python='python3.6'
この投稿は少し古いですが、もっと良い代替手段があると思います:update-alternatives
と入力してください。以下は/usr/bin/python
をデフォルトの2.7に設定しますが、必要なときに3.6を使用できます:
Sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 20
Sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 10
ここで最も高い優先順位は、/usr/bin/python
の「自動」選択として使用されますが、Sudo update-alternatives --config python
を実行することで簡単に切り替えることができます。
私の16.04では、/usr/bin/python
は/usr/bin/python2.7
への単なるリンクなので、/usr/bin/python3.x
を指すようにこのリンクを変更する必要があると思います(もちろん、適切なx
で)。