「Python 3」への移行に時間がかかっているのはなぜか――Stack Overflow3つの理由とは

データサイエンスと機械学習のコンサルタントであるビッキー・ボイキス氏は「Python 3」への移行に時間がかかっている理由を開発者向けQ&Aサイト「Stack Overflow」で解説した。

» 2019年11月18日 18時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 データサイエンスと機械学習のコンサルタントであるビッキー・ボイキス氏は、2019年11月14日(現地時間)、「Python 3」への移行に時間がかかっている理由を開発者向けQ&Aサイト「Stack Overflow」のブログに掲載した。

 Pythonの最初の版が公開されたのは1991年と古い。現在も広く使われているPython 2.0が登場したのは19年前の2000年。Python 3は2008年に発表されており、最新版の「Python 3.8」は2019年10月に公開された。

Pythonのリリースサイクル(出典:Stack Overflow

 ボイキス氏は、上図が示すように、Python 3への移行には時間がかかっており、それにはもっともな理由があると述べている。

 「最も重要な理由は、Python 3にはPython 2との下位互換性がないことだ。そのために主要なライブラリの開発者が、Python 3への移行に消極的になり、支援ツールの不足も相まって、Python 3へのコードの移植が困難になった(この問題は最終的に、『2to3』や『six』のようなツールによって解決された)」(ボイキス氏)

 その後、行列演算やasyncioの導入など有用な新機能を多数搭載した「Python 3.5」のリリースに伴い、2016年ごろ、Python 3の普及に弾みがつき、以後のバージョンでも機能の拡充が進んだことで、機械学習用の「scikit-learn」のような多くのライブラリでPython 3への移行が始まった。依存関係のアップグレードも進展し、企業も移行し始めた。

Python 2.7のサポートは2020年1月1日で終了

 こうしてPython 3は、少なくとも1年前から、Pythonコミュニティーで主流のバージョンとなっているが、Python 3への移行は依然として道半ばだ。

 ボイキス氏によると、Pythonパッケージライブラリ「PyPI」を使って、個々のパッケージのダウンロード数を調査したところ、2019年9月時点で、全パッケージの少なくとも40%で、Python 2.7向けがダウンロードされていた。この割合は、2019年初めの60%からは低下しているが、「Python 2.7のEoL(End of Life)が数カ月後に迫っていることを考えると、大きな数字だ」と、ボイキス氏は指摘している。

ユーザーはどのバージョン向けのパッケージをダウンロードしているのか(出典:Stack Overflow

 Python 3に移行しないままでは、多くのリスクを抱えることになる。Python 2.7は近いうちにセキュリティアップデートが入手できなくなる他、Python 3の新しい機能を利用することもできず、パフォーマンス向上の恩恵も受けられない。

移行できない3つの理由とは?

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。