Python 2.7のサポート終了?


133

Python 2.7がPython 3を支持してもはやサポートされなくなる既知の日付/時間枠はありますか?


8
重複がない限り、公平な質問ですが、何も見つかりませんでした。
マットジョイナー、2011年

2
この質問は、言語バージョンのサポートに関するものであるため、トピックから外れているようです
bummi

1
私が見つけることができる最高の概要は次の表です:docs.python.org/devguide/#status-of-python-branches
matth

2018年の初めに、ドロップデッドの日付がより厳密に指定されました。現在は2020年1月1日です。「python」が「python3」を指すように変更されたディストリビューションの方がよりオープンな質問です。
ESR

回答:


109

2014年4月13日現在、http://hg.python.org/peps/rev/76d43e52d978 から(PEP 373、Python 2.7リリーススケジュール):

Python 2.7のサポート終了日(EOL、廃止日)は5年後の2020年に移動しました。この決定は、Python 2.7のステータスを明確にし、まだPython 3に移行できないユーザーの心配を軽減するために行われました。。PEP 466も参照してください。


23
@基本脆弱性が完全にないわけではありません。
Stian OK

5
:@StianOKそれのは、その公正なシェアましcvedetails.com/vulnerability-list/vendor_id-10210/...
基本

14
@基本ウェルル...その共有はかなりスリムです:すべてのpythonバージョンで25(4%コード実行):cvedetails.com/product/18230/Python-Python.html?vendor_id=10210 vs php with 408(27%code exec ):cvedetails.com/product/128/PHP-PHP.html?vendor_id=74 or Java with 438(3%code exec):cvedetails.com/product/19117/Oracle-JRE.html?vendor_id=93 ...したがって、「その公平な配分」とは、「著しく低い配分」を意味したに違いありません。また、これらの脆弱性のうち3つを除くすべてが3.xバージョンの脆弱性でもあり、すべての最新バージョンが修正されています。
dhj

2
@基本セキュリティ基準についてより良い提案がありますか?
dhj

2
@dhjはい... Javaではありません!OK、それは不公平です。冗談/軽快さはさておき、正直な答えは「いいえ」です。それで「フェアシェア」で行きました。既知の(および未知の)脆弱性がない言語はありません。原則として、私たちの言語が広く使用されているほど、既知の脆弱性が存在し、純粋に精査、つまり悪用による報酬の関数として機能します。セキュリティの観点からは、Pythonが他の言語よりも悪いと言っているわけではありませんが、それよりも優れているわけでもありません。唯一の本当の答えは、防御的にプログラミングし、徹底的にセキュリティを確保することです。
基本的な

29

2010年5月には、神のことばは、ということでしたPythonの2.7用パッチレベルリリースは、おそらく、少なくとも6年間のために作られます

それで、おそらく2016年、おそらく後で。

編集:2020年に押し戻されました。他の回答にリンクされているPEP 373の改訂を参照してください。


2
PyCon 2014でBDFL自身が発表したように、将来この答えを見つけた人のために、2.7メンテナンスは現在2020年に延長されています。
Silas Ray


15

これを注意深く読んでください(参照:https : //news.ycombinator.com/item?id=7582300):

python-devリストに含まれておらず、このdiffが実際に何を意味するのか本当に理解していない人々からのコメントがたくさんあります。コア開発者は、2015年以降に2.7を維持する必要はなく、ほとんどの開発者はそれに関与しません。その部分は変わっていません。Red HatはRHEL 7リリースを削減する準備を進めています。これは、13年間サポートに支払う金額に応じて異なります。したがって、彼らは少なくとも2027年までに2.7自体をサポートする方法を理解する必要があります。ここで私は行の間を読んでいます。RHは、Pythonをフォークし、メンテナンスパッチを自分自身と顧客に保持する権利を十分に持っています(Pythonはコピーレフトではありません)。だが、彼らはナイスガイなので、おそらくそれを受け入れる意思のあるPythonプロジェクトがまだあれば、少なくともしばらくの間、彼らは彼らの変更をアップストリームに進んで喜んでいます。繰り返しますが、これはMLの議論に基づいた私の推測であり、RHが実際に行うと言ったことではありません。[0]に含まれているRails 2.xの商用フォークであるRails LTSに類似しています。必然的に誰かが2.7をサポートするために介入するので、2.7を実行し続ける唯一の方法がRHELをサブスクライブすることである状況を回避するために何ができるかを見てみましょう。一方、Windowsで2.7を広範囲に使用している大企業(Enthought、Anacondaなど)がいくつかあり、Python.orgがダウンロードをホストしていると仮定すると、誰かがたまにWindowsインストーラーを生成する可能性があると考えられます。ですから、ここで実際に起こっていることはそれほど刺激的ではありません。コアコミッターは、プロジェクトを当初の計画どおりに残すことと何の違いもありません。何が起こっているのかというと、彼らはソース管理リポジトリとFTPサーバーに明かりをつけたままにし、2.7のサポートを継続することに関心のある大企業の人々からの自由労働を捕らえることです。もう1つの方法は、RHと他のベンダーがPython 2.7の専用で高価なフォークを作成することです。とにかくそれが起こるかもしれませんが、バイナリがpython.orgにまだ表示されていて、ITMにSCMとバグトラッカーのセットアップを要求する必要がない場合、雇用主がパッチの提供を中止する必要があることに気付くまでに時間がかかります。等 何が起こっているのかというと、彼らはソース管理リポジトリとFTPサーバーに明かりをつけたままにし、2.7のサポートを継続することに関心のある大企業の人々からの自由労働を捕らえることです。もう1つの方法は、RHと他のベンダーがPython 2.7の専用で高価なフォークを作成することです。とにかくそれが起こるかもしれませんが、バイナリがpython.orgにまだ表示されていて、ITMにSCMとバグトラッカーのセットアップを要求する必要がない場合、雇用主がパッチの提供を中止する必要があることに気付くまでに時間がかかります。等 何が起こっているのかというと、彼らはソース管理リポジトリとFTPサーバーに明かりをつけたままにし、2.7のサポートを継続することに関心のある大企業の人々からの自由労働を捕らえることです。もう1つの方法は、RHと他のベンダーがPython 2.7の専用で高価なフォークを作成することです。とにかくそれが起こるかもしれませんが、バイナリがpython.orgにまだ表示されていて、ITMにSCMとバグトラッカーのセットアップを要求する必要がない場合、雇用主がパッチの提供を中止する必要があることに気付くまでに時間がかかります。等


10

この記事は、「2.7がリリースされると、2.xラインは5年間のバグ修正専用モードに移行します。」

したがって、私が見る限り、Python 2.7は2.xの機能を追加した最後のリリースであり、見つかったバグは(しばらくの間)修正される予定ですが、新機能は3.xリリースにのみ適用されます。


3
その記事では、Python 3がUnicodeを導入していると主張しているので、私はそれが言っていることは何でも理解します。しかし、「5年」を「少なくとも5年」に変更してください。これは正しいことです。
Lennart Regebro、2011年


6

PEP 373(Python 2.7リリーススケジュール)は、要求された種類の情報の公式ソースです。

現在、「将来のリリース予定日」と書かれています。

  • 2.7.7 2014年5月
  • 2.7.8 2014年11月
  • 2.7.9 2015年5月
  • この日以降、必要に応じてリリースします

また、「Python 2.7のサポート終了日(EOL、終了日)は5年先の2020年に移動しました」とも書かれています。

2014年4月に編集(http://hg.python.org/peps/rev/76d43e52d978による)


なんと安心したことでしょう。うまくいけば、Python 3はその時までになくなるか、混乱を避けるためにモレラのような名前に変更されます。
lowtech 2014年

2
@lowtech-彼らはそれまでにPython 4に移行している可能性があります(おそらく、下位互換性のない新しい変更が導入されている可能性があります)。過去3年間で3の人気が急速に高まっていることに基づいて、2020年までにコミュニティでは3を使用するユーザーが2よりも増えると予想しています。 3. Iのインポートにジャンプのリスク将来多くを、しかし。
ArtOfWarfare 2014

6

Python開発者ガイドには、バージョン2.6から現在のバージョンまでの「Pythonブランチのステータス」と、サポート終了日などのサポート状況が記載されています。

現在サポートされています(バグ+セキュリティ修正):

  • Python 3.8(現在のマスター/開発ブランチ)
  • Python 3.7
  • Python 3.6
  • Python 2.7(2020-01-01まで)

セキュリティ修正のみ:

  • Python 3.5
  • Python 3.4

1

Python 2.7は永久に存在します。それを使用する古いコードが多すぎて、誰も書き換えたくありません。Tauthonと呼ばれるフォークがすでにありますが、この無意味な期限が現実のものとなると、他の人が現れる可能性があります。


2
EOL製品にとって「無意味」ではなく、リソースの割り当てについてです。もちろん、それはオープンソースなので、現在の形で永久に存在し続けます。しかし、それはもはやサポートされません。少なくとも公式のメンテナによって。ここであなたがどんな質問に答えているのか本当にわかりません。
だます

ユーザーは、Python2.7のサポート期間を尋ねました。ユーザーは公式のメンテナからのサポートについては尋ねませんでした。このようなプロジェクトでは、多くのコード行があるため、実際には、メンテナ以外による定期的な更新、バックポート、Python2の優れたサポートが永久に行われます。(私はこのPython3の全体についての私の個人的な欲求不満にうんざりして、それゆえに「無意味」です)。
最大

このコメントは関連があると思います。TauthonはPython 2.7と同一であり、しばらくの間サポートされるようです。したがって、言及する価値があります。
フィル

若いプログラマーは、下位​​互換性を保証することから得られるパワーと効率を理解していないという経験をしました。ガイドヴァンロッサムによる、互換性を意図的に損なうことでパフォーマンスを損なうこと(パフォーマンスも読みやすさも)を損なうことにより、数万時間を超える無駄な生活を害するという決定を理解することはできません。
最大

1
@テトラグラマトン:互換性がないことが良いことである理由を説明してください。「根本的な欠陥」とは何かを説明してください。私は15年以上Pythonをフルタイムで使用してきましたが、自分にとって重要な大きな違いは見当たりません。Cは40年間同じままで、現在も主要言語であり、大きな変更はありません。Javascriptは長年にわたって非常に改善されており、依然として下位互換性があります。C ++は依然としてCと下位互換性があります。Windows10は引き続きWindows 3プログラムを実行できます。私たちのCPUは70年代から8086コードを実行しています。私たちはサポートを壊すことなく、毎日進歩します。
最大
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.