開発言語「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
「Windows 10 21H1」が提供開始–「Windows Hello」のマルチカメラ対応など
IT関連
2021-05-19 00:06
Epic対Apple訴訟、5月3日にクックCEOやフェデリギ上級副社長が証人として出廷
企業・業界動向
2021-03-23 00:52
望遠レンズの圧縮効果と広角レンズの遠近感、伝えたいことが伝わる使い方 :荻窪圭のデジカメレビュープラス(1/3 ページ)
くらテク
2021-02-08 01:22
「PUI PUI モルカー」、Amazon Prime Videoなどで全話配信
くらテク
2021-02-03 08:58
Linux 6.0がリリース、「重要な新要素」やRustの導入は6.1に
IT関連
2022-10-06 11:19
B2B向けD2Cソリューション「BRANDIT」でファッション業界のDXを推進するBranditが2億円調達
ネットサービス
2021-04-13 02:25
霞が関でFAX廃止へ 河野大臣「テレワークの阻害要因」
DX
2021-04-15 06:20
Google Cloudが「Cloud TPU v5p」発表、AI処理に特化したプロセッサ。前世代より2.8 倍高速に大規模言語モデルをトレーニング。Google Cloud Next '24
Google Cloud
2024-04-11 09:28
Sansan、紙の名刺作成サービスを開始 1ユーザー当たり年間1500円から
クラウドユーザー
2021-05-11 21:42
B2Cフィットネスプラットフォーム「Spaces」のTalent Hackが4.9億円調達
ネットサービス
2021-01-28 01:17
Ziddyちゃんの「私を社食に連れてって」:働き方改革で生まれ変わった「NECスーパータワー」の社食とオフィスにワクワク編
IT関連
2022-05-14 11:27
ワールドクラスの人事部門を目指す–「Workday HCM」導入のトプコン
IT関連
2022-05-11 22:35
Snapchatがクリエイターのストーリーにミッドロール広告を導入する計画を発表
IT関連
2022-02-16 21:35
Netflixが「動画+電力」のセットプラン提供 東北電力の子会社とタッグ
企業・業界動向
2021-08-21 17:35