プログラミング言語のPythonが大変な人気だ。Pythonでプログラミングを始めてみたいという初心者も多いだろう。

 そうした初心者が自分のパソコンにPythonをインストールしようとしたとき、最初に問題になるのが「Pythonのどのバージョンを選べばいいか」ということだ。Pythonには「Python 2」と「Python 3」の大きく2つのバージョンが存在する。初心者だと、どちらを選べばいいかが分からない。

 たいていの人は、最新バージョンであるPython 3を選択するだろう。しかし、中には「Python 2にはこれまでの実績があるから、そちらを選んだほうがいいのではないか」、あるいは「Python 2のほうが簡単で初心者向けなのではないか」と考える人がいるかもしれない。

 結論から言うと、今からPython 2を使い始めてはならない。Python 2はもう2019年内しかサポートされないことが決まっているからだ。

Python 2の廃止日が決定

 Pythonの開発や管理などを手がけている非営利団体のPythonソフトウエア財団が、「Sunsetting Python 2」というタイトルの記事を公開した。sunsetを動詞で使うときは「廃止する」との意味になるが、少し文学的に表現すると「Python 2のたそがれ」という感じだろうか。

 この記事では「We have decided that January 1, 2020, will be the day that we sunset Python 2.(私たちは2020年1月1日をPython 2の廃止日にすることを決定した)」と明言されている。2020年以降は、Python 2自体やPython 2で書かれたソフトウエアにたとえ致命的なセキュリティーの問題が見つかっても、基本的には修正されないという。

 Python 2とPython 3は、インデントでブロックを区別するというPythonの特徴や基本的な構文の書式は共通している。ただし、細かい部分がいろいろと変更されており、両者の間に互換性はない。ざっくりいえば、古い考え方が残っていたPython 2の仕様を、洗練された仕様に変更したものがPython 3だ。

 同財団は「Python 2を2015年に廃止する」と2008年にいったん発表していた。ところが、Python 3への移行が思うように進まなかったことから、2014年に廃止時期を2020年まで延期していた。

 Python 2の廃止が予定通り実行されることになったのは、Python 3への移行が十分に進んだと同財団が判断したからだと考えられる。

 以前はPython 2にしか対応していないライブラリーが多く、それがPython 3への移行の妨げになっていた。現在はほとんどのライブラリーがPython 3への対応を完了したということなのだろう。個人的にも、そのことを実感した出来事があった。

 最近、日経NETWORKでPythonを取り上げる記事を執筆し、その際に「Scapy(スケイピー)」というライブラリーを使った。ネットワークのパケットを簡単に組み立てたり送ったりできるライブラリーだ。

この先は会員の登録が必要です。今なら有料会員(月額プラン)が2020年1月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら