Ubuntu の apt-get が Python 2.7 をインストールしようとするのはなぜですか?

Ubuntu の apt-get が Python 2.7 をインストールしようとするのはなぜですか?

新しい Linux VPS、Python と私がよく使用する他のツールをいくつかインストールします。apt-get updateと を実行しましたapt-get upgradeが、実行したときにバージョン 2.7 がデフォルトになっていることに気付きました。 (ただし、を実行して Python 3 をインストールapt-get install pythonできます)apt-get install python3

私は、なぜデフォルトで Python 3 がインストールされないのか気になりました。Python ベースのスクリプトを壊さないためでない限り、自然なアップグレードのように思えます。また、「Python 3 はいつリリースされたか」を Google で検索すると、「メジャーで下位互換性のないリリース」であると記載されているので、これが最も可能性の高い理由だと思います。

簡単に言うと、なぜapt-get install pythonPython 3 ではなく 2.7 をインストールするのでしょうか? Python 3 が今のところデフォルトのバージョンではないのはなぜでしょうか (2008 年 12 月にリリースされました)?

答え1

理由はいくつかあります:

  • UbuntuにはまだPython 2.xスクリプトがある
  • 適切なバイナリを呼び出すだけで、Python 2 と Python 3 を問題なく並べて実行できます。
  • Python 2.7 は 2020 年までバグ修正とセキュリティサポートを受ける(そして、コミュニティのサポートは、直接的に、または Pypy などの他のランタイムを通じて、さらに拡大する可能性があります)
  • Python 3に切り替えると/usr/bin/python、多くのPython 2スクリプトが動作しなくなります。これは、明示的に呼び出したり、#!/usr/bin/env python呼び出しなかったりするためです。#!/usr/bin/env python2

これらのことが重なり合って、Ubuntu のデフォルトをアップグレードすると、まだ問題ではない問題を修正するのに膨大な時間がかかります。Python 2.7 のサポート サイクルが長いということは、少なくともあと 5 年間は問題なく動作するはずです。

それまでは、競合や問題を引き起こすことはないので、そのままにしておきましょう。これは単なる別の依存関係です。

もちろん、あなたが書いているのであれば新しいコードについては、おそらく Python 3 を検討する必要があります。

関連情報