GNU/Linux >> Linux の 問題 >  >> Ubuntu

なぜPython2.7はまだUbuntuのデフォルトのPythonバージョンなのですか?

Pythonの公式ドキュメントによると、Python2.7のサポートは近い将来終了します。

廃止:Python 2.7は2020年1月1日にサポートが終了します。それ以降、Python 2.7は維持されないため、Pythonをアップグレードしてください。 pipの将来のバージョンでは、Python2.7のサポートが終了します。 pipでのPython2サポートの詳細については、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のリリースノートによると:

Python2はデフォルトでインストールされなくなりました。 Python3が3.6に更新されました。これは、Python2をメインに含む最後のLTSリリースです。

そして、上記のステートメントは真実です。 Python 2は、18.04ではデフォルトでインストールされておらず、その後にリリースされたバージョンです。 UbuntuはすでにほとんどすべてのプロジェクトをPython2からPython3に移行しています。たとえば、Disco Dingoのリリースノートによると:

Sambaはバージョン4.10.xに更新され、ここでの大きな変更の1つは python3です。 サポート。 Discoでは、tdbを除いて、sambaとその依存関係はすべてpython3になりました。 tdbは引き続きpython2パッケージ、つまりpython-tdbを構築しますが、samba自体を含む他のすべてのパッケージはpython3のみです。

さらに、Ubuntu 18.04のリリース前でさえ、Ubuntu/Canonicalは開発者にPython3への移行を求め始めました。終わりが近い 。 Pythonから– Ubuntu Wiki:

現在、すべてのUbuntu /Canonical主導の開発はPython3を対象としている必要があり、すべての新しいコードはPython3のみである必要があります。 依存関係スタックが原因でこれを実行できない場合は、話しましょう。

システムにPython2が意図的にインストールされたか、開発者がPython3に移行していない他のパッケージの依存関係としてインストールされているようです。実行することでPython2に依存するインストール済みパッケージを確認できます

>
apt rdepends python --installed

pythonのときにPython2が呼び出される理由 実行されるのは歴史的の1つにあります PEP 394のポイント— Unixライクなシステムでの「python」コマンド:

python コマンドは常にPython2を呼び出す必要があります (Python2コードがPython3で実行されているときに診断が難しいエラーを防ぐため)

20.04などの新しいリリースでは、Ubuntuは2つのパッケージを提供します。

python-is-python2/focal,focal 2.7.17-4 all
  symlinks /usr/bin/python to the DEPRECATED python2

python-is-python3/focal,focal 3.8.2-4 all
  symlinks /usr/bin/python to python3

名前が示すように、以前のものはpythonを作成します python2を呼び出す その後、python3を呼び出します 。 Python 2に依存するアプリケーションがない場合は、python-is-python3をインストールできます。 pythonを作成するには python3を呼び出す 。または、スクリプトのシェバンを/usr/bin/python3に編集することもできます。 python3を直接使用するスクリプトを作成する 通訳として。

関連:Ubuntu Touchにapkをインストールできますか?
Ubuntu
  1. Ubuntu 20.04および18.04にPythonをインストールするにはどうすればよいですか?

  2. Aptがカーネルを更新しなくなったのはなぜですか?

  3. Unityデスクトップ環境とデフォルトのUbuntuバージョンはどうなりますか?

  1. UbuntuとDebianでPythonバージョンを切り替える方法

  2. なぜChromium-browserはUbuntu14.04Trusty Tahrのバージョン53のままですか?

  3. Ubuntu がサーバー管理に最適な理由

  1. Ubuntuに最新バージョンのHandbrakeをインストールする方法

  2. Ubuntu22.04カーネルバージョン

  3. Ubuntu でデフォルト ゲートウェイを設定する方法