web-dev-qa-db-ja.com

Ubuntu 18.04へのアップグレード後に、デフォルトでpython3に安全に切り替える方法

python3はUbuntu 18.04のデフォルトpythonバージョンであり、python2はUbuntu 18.04の新規インストールではデフォルトで出荷されないため、Ubuntu 18.04(16.04から)にアップグレードした後にpython3をデフォルトにするにはどうすればよいですか?現在、python2へのアップグレード後もデフォルトのままです(例:pythonコマンドはpython2などに指示します)。ただし、pythonパッケージを削除すると、それに依存するパッケージが削除されすぎてしまうため、ここではオプションではありません。

理想的には、python2依存関係を可能な限り削除したいです。アップグレードプロセスは、python2依存関係にまだ依存しているかどうかにかかわらず、すべてのパッケージをチェックし、それによって同等のpython2依存関係で置き換えられる可能性のあるpython3依存関係をすべて収集するように設計できます(アップグレードによって解決されます) 。

10
zazi

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' 
9
Amith KK

この投稿は少し古いですが、もっと良い代替手段があると思います: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を実行することで簡単に切り替えることができます。

0
Joshua Whitley

私の16.04では、/usr/bin/python/usr/bin/python2.7への単なるリンクなので、/usr/bin/python3.xを指すようにこのリンクを変更する必要があると思います(もちろん、適切なxで)。

0
xenoid