開発言語「Python」、3つの新バージョンが公開

今回は「開発言語「Python」、3つの新バージョンが公開」についてご紹介します。

関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


 Python Software Foundation(PSF)が人気プログラミング言語「Python」の3つの新バージョンをリリースした。PSFの2022年の幕開けは波乱含みとなっているが、「Core Python」の開発者たちは、「Python 3.10」を前バージョンの2倍に高速化するというGuido van Rossum氏(Pythonの生みの親)の目標の達成に向けて、前進を続けている。

 「予想よりも複雑」だったコード署名証明書の更新など、さまざまな停滞があったものの、米国時間1月17日、Python 3.10と「Python 3.9」、プレビュー版である「Python 3.11」シリーズの新しいバージョンがリリースされた。バージョン3.10.xはPython 3の最新の機能リリースシリーズであるのに対し、3.9.xはレガシーシリーズで、Python 3.11.xはプレビュー版だ。

 リリースチームは、「ある意味、これらのリリースはすべて呪われていた。2022年は、とんでもない幕開けとなった。証明書の更新に手間取ったことに加えて、『Python 3.10.2』は急いでリリースされた。『Python 3.11.0a4』はリリースを妨げる約20件(タイプミスではない)の問題を克服して、ようやく公開にこぎ着けた。『Python 3.9.10』は、『macOS Monterey』がインストールされた新しい『M1』搭載『Mac』で開発されたので、普段であれば退屈なプロセスもかなり楽しむことができた」と述べている。

 証明書の更新の問題が原因で、Pythonの新しいバージョン(3.10.2、3.9.1、3.11.0a4)には、「Windows」向けのインストーラーが含まれていない。この明白な問題があるにもかかわらず、Core Python(「CPython」)開発チームは、新しいバージョンをリリースすることを決定した。3.10以前のバージョンに影響を及ぼす深刻なメモリーリークの問題が存在し、3.10.2のインストールが「強く推奨」されているからだ。

 CPythonの開発者でリリースマネージャーのLukasz Langa氏は、「問題の解決に取り組んでいる間、われわれはリリースを1週間控えてきたが、特に3.10.2の緊急性が高かったことから、結局、Windows向けのインストーラーなしでリリースせざるを得なかった」と説明する。

 「ご不便をおかけして申し訳ないと思う。われわれは現在、Windows向けのインストーラーを可能な限り早く提供できるように、最善を尽くしている」

 CPythonは、Pythonのリファレンス実装であり、ほかのPython実装のベースとなっている。

 「2022年の最初の3つのリリースは呪われていた。通常ならかなり平凡で、概ね自動化されているプロセスが、3つの厄介な問題になった。幸い、われわれはそれらの問題を何とか克服した」(Langa氏)

 現在、CPython開発者のEe Durbin氏とMicrosoftの社員であるSteve Dower氏が、証明書の問題に対処している。Dower氏は、Windows版CPythonの専門家であり、Windows向けのインストーラーを担当している。

 PSFは、証明書の更新とWindows向けインストーラーの問題について、今週中に解決されると考えている。

 Python 3.10に影響を及ぼすメモリーリークは、開発者が「Cython」を使用した場合に、特定の関数呼び出しで発生する。Cythonは、Pythonのスーパーセットであり、Pythonコードで使用される拡張を「C」コードで簡単に記述できるようにするコンパイラーを備える。Cythonを使用すると、Pythonのコードを実行する際に、Cのような高速のパフォーマンスを享受することが可能だ。

 Langa氏は、「Cythonコードからの特定の関数呼び出しで発生するメモリーリークは、一定の少量のバイトで構成されていた」と説明する。「ほとんどの場合、これはそれほど目立たないが、長時間実行されるアプリケーションや特定の使用パターンでは、非常に大きな影響が生じる」

 CPython開発者のPablo Galindo Salgado氏は、メモリーリークがCythonに及ぼす影響をかなり甚大なものとし、「3.10では、__Pyx_PyCFunction_FastCallを使用するすべての関数呼び出しがメモリーリークを起こしている。これはかなりひどい」とバグレポートで言及している。バグレポートは、何MBものメモリーリークが発生していることを示していたので、このバグは早急に修正する必要があった。

 CPython開発者は、PyEval_EvalFrameExがリークの原因であることを特定した。PyEval_EvalFrameExは、PythonではなくCythonによって使用されるが、Python 3.10以前のバージョンにのみ存在し、Python 3.11以降には存在しない。

 Python 3.10の次のメンテナンスリリースは「Python 3.10.3」で、2022年4月4日にリリースされる予定だ。

 バージョン3.11.0a4は、予定されている7つのテスト用アルファ版の4番目のリリースだ。3.11の主な変更点には、Pythonの生みの親であるGuido van Rossum氏が「PyCon 2021」カンファレンスで説明した速度の向上が含まれる。Microsoftに入社したvan Rossum氏は、Python 3.11で3.10の2倍の高速化を実現したいと考えている。「Faster CPython Project」は、機械学習の人気の高まりとともに成長してきたPythonコミュニティーに対するMicrosoftなりの恩返しだ。

 Faster CPython Projectによって実行された「PyPerformance」ベンチマークは、CPython 3.11が3.10.0よりも幾何平均で約19%高速であることを示している。

 そのほかの主な改善点は以下の通りだ。

 バージョン3.9.10は、レガシー3.9シリーズの9番目のメンテナンスリリースだ。Python 3.9.10には、130件の新しいコミットが含まれる。「macOS」の場合、デフォルトのインストーラーは、IntelおよびAppleのArmシリコンと互換性のある「Universal 2」バイナリーだ。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
デジタルを活用したGX/SXで経済社会の変革を進めよ
IT関連
2023-01-06 18:06
今週の記事ランキング(2021.8.8〜8.12)
IT関連
2021-08-14 22:56
はてなブックマークにヤフコメの「表示順位付けAI」導入 「人気コメント」の改善に
DX
2021-07-20 03:39
山形県がデータ起点の社会変革プロジェクトを開始–地域課題の解決を先取り
IT関連
2022-06-02 11:08
「Windows 11」新機能のリリース手段はどうなる?–MSがInsiderプログラムの方針など示す
IT関連
2022-02-05 09:37
アドビ、Figma買収を断念–欧州当局の承認を得られないと判断
IT関連
2023-12-20 05:28
IT人材が不足する日本でDXをどう進めるか–官民学のトップが議論
IT関連
2021-06-03 17:49
テレワーク、時差、マイカー通勤……大阪の自治体 出勤者7割削減に苦慮
IT関連
2021-01-23 11:06
ビックカメラがAWSやSalesforceなど採用–「DX宣言」で良質な顧客体験を創出
IT関連
2022-06-15 10:35
JavaScript開発者の利用傾向や人気ツールは?–「State of JavaScript」調査
IT関連
2023-01-18 07:33
HashiCorp、「HashiCorp Consul 1.18」を一般提供–長期サポートを導入
IT関連
2024-03-13 08:57
HashiCorpのライセンス変更–意図や影響を製品マーケティング担当幹部に聞く
IT関連
2023-11-07 02:07
油送管攻撃のハッカー集団「DarkSide」が活動停止表明 「情報インフラ遮断された」
IT関連
2021-05-19 08:32
ポケモンコラボのAnker製モバイルバッテリーが自主回収に 焼損発生も原因は不明
企業・業界動向
2021-07-03 13:35