Pythonの公式ドキュメントによると、Python2.7のサポートは近い将来終了する予定です。
サポート終了:Python 2.7は2020年1月1日にサポートが終了します。Python 2.7はそれ以降はメンテナンスされないため、Pythonをアップグレードしてください。 pipの将来のバージョンでは、Python 2.7のサポートが廃止される予定です。 Python 2のpipでのサポートの詳細については、 を参照してくださいhttps://pip.pypa.io/en/latest/development/release-process/#python-2 -support
Ubuntuが次期バージョンでPython3をデフォルトとして使用しないのはなぜですか?
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
$ python
Python 2.7.16 (default, Apr 6 2019, 01:42:57)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Bionic Beaverのリリースノート によると:
Python 2はデフォルトではインストールされなくなりました。 Python 3が3.6にアップデートされました。これはPython 2をメインに含む最後のLTSリリースです。
上記の説明は真実です。 Python 2は、18.04以降にリリースされたバージョンではデフォルトでインストールされません。 Ubuntuは、ほぼすべてのプロジェクトをPython 2からPython 3にすでに移動しています。たとえば、 Disco Dingoのリリースノート によると:
Sambaはバージョン4.10.xに更新されました。ここでの大きな変更点の1つはpython3のサポートです。ディスコでは、tambaを除いて、sambaとその依存関係はすべて現在python3です。 tdbは引き続きpython2パッケージ、つまりpython-tdbをビルドしますが、samba自体を含む他のすべてはpython3のみです。
さらに、Ubuntu 18.04のリリース前でも、Ubuntu/Canonicalは開発者にPython 3への移行を求め始めました。これは、終わりが近いであるためです。 Python-Ubuntu Wiki から:
すべてのUbuntu/Canonicalドリブン開発は現在Python 3をターゲットにしている必要があり、すべての新しいコードはPython 3のみである必要があります。依存関係のスタックのためにこれを行うことができない場合は、話しましょう。
お使いのシステムにPython 2が意図的にインストールされているか、開発者がPython 3に移動していない他のパッケージの依存関係である可能性があります。インストールされている依存パッケージを確認できますPythonで2を実行して
apt rdepends python --installed
python
の実行時にPython 2が呼び出される理由は、 PEP 394-のhistoricalポイントの1つにありますUnixライクなシステムでの「python」コマンド :
python
コマンドは常にPython 2を呼び出す必要があります(Python 2コードの実行時に診断が難しいエラーを防ぐためにPythonで3)。
私の知る限りでは、Arch Linuxだけがそれを行いました。デフォルトのpython
コマンドからpython3
を呼び出すことです。 PEP 394 の推奨にもかかわらず、.
python
、pythonX
、/usr/bin
間のリンクを再定義することで、pythonX.Y
で変更できます。ただし、すべてのすべてのpython2スクリプトは明示的にシェルバンを設定する必要があるため、多くのバグに対処する準備をしてください。
#!/usr/bin/env python2
古いスクリプトではめったに使用されないシェルバン。