開発言語「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
Meta、企業が広告の掲載場所をコントロールできる新ツールのテストを2022年後半から開始
IT関連
2022-03-20 14:35
「脱丸投げ」でERPなどのカスタマイズは2割未満に–ガートナーが提言
IT関連
2024-03-30 08:40
DX専業のKDDI Digital Divergence Holdingsが事業開始–グループ連携で企業のDX支援
IT関連
2022-07-02 12:37
スーパーマリオコラボの限定スマートウォッチがタグ・ホイヤーから、価格は25万3000円
ハードウェア
2021-07-14 01:06
XRコンソーシアムがVR・AR・MR手がける会員企業対象の「XRコンソーシアム会員企業カオスマップ」公開
VR / AR / MR
2021-02-19 00:02
フコク生命、従業員約4500人のやりとりを円滑化–社用スマホ支給に伴い
IT関連
2022-11-11 03:06
トランプ大統領がオンライン決済のStripeからも追い出され寄付金受け取り不可に
ネットサービス
2021-01-12 07:55
コンタクトセンターでのAI活用は5割以上–生成AIにも前向き
IT関連
2023-10-06 23:32
人気の「生ジョッキ缶」再登場 一部ネット通販では相場の倍に
くらテク
2021-07-14 16:52
「快進撃を続けている」–ピュア・ストレージが2022年の事業総括と2023年の業界展望
IT関連
2022-12-13 10:50
急増する不正アクセス、「能動的サイバー防衛」への期待も山積する課題
IT関連
2023-12-19 22:30
サイバーセキュリティ体制のエコシステム形成、格差など課題
IT関連
2022-04-01 03:44
AWSとMSのクラウド市場独占に懸念–英放送通信庁が中間報告
IT関連
2023-04-08 03:03
第3回:電子サインの導入での課題と気を付けるべきこと
IT関連
2021-04-19 02:14