開発言語「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
クアルコム、最新モバイルチップ「Snapdragon 8 Elite」を発表
IT関連
2024-10-23 21:06
Istioが新たな仕組み「Ambient Mesh」を発表。サイドカーなしでサービスメッシュを実現
Istio
2022-09-12 05:37
企業の生成AI活用で「大規模」な言語モデルは不要–インフォマティカのCEO
IT関連
2023-10-31 22:31
「github」のスペルが間違っていることを伝える「guthib.com」というサイトがある :明日から使えるITトリビア
企業・業界動向
2021-07-08 07:08
タマゴを使わないタマゴとマヨネーズを開発する代替タンパク製品のEat Justがさらに217億円調達
フードテック
2021-03-25 08:05
真のキャッシュレス社会実現のために必要な5つの改革
フィンテック
2021-01-12 17:08
モルカーの映画は全国88の劇場で ほぼ3D対応
くらテク
2021-06-26 23:02
BlackBerry、ZTNAソリューションの最新版「CylanceGATEWAY v2.5」を発表
IT関連
2022-10-29 02:25
【レビュー】アマゾンの新Echo Budsはまずまずのアップグレード、ただし依然として卓越性は感じない
ハードウェア
2021-05-25 07:40
米国2位の自動車保険大手Geicoが数カ月にわたりウェブサイトから運転免許証番号を盗まれていたと認める
セキュリティ
2021-04-21 23:16
「Windows 11」のAndroidアプリ対応、米国でプレビュー提供を開始
IT関連
2022-02-17 04:13
DXの基本–定義、事例、重要性などを解説
IT関連
2022-08-25 09:35
現場状況を遠隔地と共有可能な「コネクテッドワーカーソリューション」のフェアリーデバイセズが10.2億円調達
ネットサービス
2021-02-26 09:33
開始まで1年4カ月–インボイス制度対応で気を付けたい3つの落とし穴:freee解説
IT関連
2022-06-02 17:16