
新しい 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 python
Python 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 を検討する必要があります。