Python 3.15.0が公開、遅延インポートとfrozendictを搭載
Python 3.15.0が10月9日に公開されました。1,012人の貢献者による5,643件のコミットを含み、遅延インポート(レイジーインポート)、組み込みのfrozendict、デフォルトのUTF-8、より高速なJITを備えます。
4 分で読めます

数字で見る
- commits since Python 3.14
- 5,643
- contributors to the release
- 1,012
- JIT speedup on x86-64 Linux, geometric mean
- 7-8%
- roughly when security updates end, per PEP 602
- 2031
Python 3.15.0が2026年10月9日に公開されました。この言語で年に1度の機能リリースです。明示的な遅延インポート、組み込みのfrozendict型、デフォルトのテキストエンコーディングとしてのUTF-8が加わります。「Python 3.15.0は、プログラミング言語Pythonの最新のメジャーリリースです」と、リリースマネージャーのHugo van KemenadeはPython Insiderに書いています。このリリースには、1,012人の貢献者による5,643件のコミットが含まれます。当初の予定より1週間遅れての登場です。その前に、予定外の3つ目のリリース候補が、終盤に見つかった遅延インポートのバグを修正していました。
主な機能
大きな変更はそれぞれ、PEP(Python Enhancement Proposal)に由来します。PEPとは、機能の設計文書です。リリースノートは次のものを挙げています。
| PEP | 機能 | 内容 |
|---|---|---|
| 810 | 明示的な遅延インポート | 起動を速くするため、モジュールの読み込みを初めて使われるときまで遅らせられる |
| 814 | frozendict | 作成後に変更できない組み込みの辞書 |
| 661 | 番兵(sentinel)型 | 一意のマーカー値のための組み込み型 |
| 686 | デフォルトでUTF-8 | 特に指定しない限り、PythonはテキストをUTF-8で読み書きする |
| 798 | 内包表記でのアンパック | 内包表記の中でアンパックできる |
| 829 | パッケージのスタートアップファイル | パッケージ向けの新しい起動設定ファイル |
| 799 | プロファイリングパッケージ | Tachyonサンプリングプロファイラーを追加 |
| 803, 820, 793 | フリースレッド版の安定ABI | 1つのコンパイル済み拡張が、フリースレッドビルド全体で動作できる |
| 831 | フレームポインター | ビルドでデフォルトで有効に |
型付けにも3つの変更があります。PEP 728、747、800です。What's Newのページによると、実験的なJITコンパイラー、エラーメッセージ、コマンドラインの色表示も改善されました。
Linux Compatibleによると、UTF-8への変更が最も影響するのはWindowsです。以前のデフォルトのエンコーディングに頼っていたコードは、PYTHONUTF8=0で元に戻せます。
高速化、ただしすべての場面ではない
JITが速くなりました。JITとは、頻繁に実行されるPythonコードを、実行中に機械語へ変換するコンパイラーです。Python Insiderは、幾何平均で次の向上を示しています。
| プラットフォーム | JITによる向上 |
|---|---|
| x86-64 Linux | 標準のインタープリターより7-8% |
| AArch64 macOS | テールコール型インタープリターより11-12% |
結果はワークロードによって大きく異なります。Linux Compatibleによると、個々のベンチマークでは、約15%遅くなるものから100%以上速くなるものまであります。
公式インストーラーも変わりました。Windowsの64ビット版ビルドは、テールコール型インタープリターを使うようになりました。これは、Pythonのメインループをより速く実行する方式です。Linux Compatibleは、その向上幅を15-20%としています。小規模で長時間動く純粋なPythonスクリプトでは、最大40%です。公式のmacOS向けインストーラーには、デフォルトでフリースレッド対応が含まれるようになりました。フリースレッドにより、Pythonはグローバルインタープリターロックなしで、複数のCPUコアで同時にコードを実行できます。
macOS 27での既知の問題
Macユーザーには注意点が1つあります。Python Insiderによると、macOS 27.0では、IDLEなどのtkinterアプリが「ダイアログを開くアプリケーションのメニューコマンドを使うと、ハングすることがある」とのことです。その場合、アプリは強制終了しなければなりません。
Pythonチームは、原因をOS側の変更にあるとしています。また、tkinterが使うツールキットであるTkの全バージョンに影響すると考えています。この問題はissue #158053として追跡されています。リリースページは、Tkアプリに頼っているなら、macOS 27.0への移行は待つよう勧めています。
非推奨になるもの
リリースノートとLinux Compatibleによると、3つのものが廃止に向かっています。
- 純粋なPythonで書かれた
profileモジュールは非推奨となり、Python 3.17で削除されます。cProfileは残ります。 .pthファイル内のコードを実行する行は非推奨となり、代わりにPEP 829の新しいスタートアップファイルが推奨されます。PyGILState_*のC関数はソフト非推奨になりますが、削除はされません。
Linux Compatibleによると、Python 3.15はPEP 602のスケジュールに従い、2年間のバグ修正を受けます。その後は、2031年10月ごろまでセキュリティ修正が提供されます。
開発者にとっての意味
- 起動の遅いツールで遅延インポートを試す。 コマンドラインツールや、重いインポートを抱えるアプリが最も恩恵を受けます。インポート時にコードが実行されることに頼るモジュールは、必ずテストしてください。インポートを遅らせると、そのコードが実行されるタイミングが変わるためです。
- Windowsでテキストの扱いを確認する。 UTF-8がデフォルトになりました。ファイルの入出力テストをWindowsで実行してください。
PYTHONUTF8=0は一時しのぎとしてのみ使いましょう。 - 固定の設定にはfrozendictを使う。 変更できない辞書は設定に使うと安全で、ハッシュ可能な値が必要な場所でも使えます。
- JITを当てにする前にベンチマークを取る。 平均的な向上幅は控えめで、遅くなるワークロードもあります。自分のコードで測定してください。
- tkinterを使うならmacOS 27.0は見送る。 バグが修正されるまで、IDLEやTkアプリがハングすることがあります。
- 今すぐ
profileから移行する。 Python 3.17でなくなるので、cProfileか新しいプロファイリングパッケージに切り替えましょう。
本番システムをアップグレードする前に、主要な依存パッケージが3.15に対応しているか確認してください。
出典
- Python 3.15.0 final is here! - Python Insider
- Python Release Python 3.15.0 - Python.org
- Python 3.15.0 (final) is here! - Discussions on Python.org
- What's new in Python 3.15 - Python documentation
- Python 3.15.0 Is Out: Lazy Imports, frozendict, and Faster Speeds - Linux Compatible
関連記事

Python 3.15.0の正式版が10月9日に延期、予定外のrc3を公開
Python(パイソン)3.15.0rc3が10月2日に公開されました。終盤に見つかった遅延インポート(lazy imports)のバグを修正するためで、Python 3.15.0の正式リリースは1週間遅れの2026年10月9日になりました。

Python 3.10がサポート終了、5つのリリースで8件のCVEを修正
Python 3.10.22が3.10の最後のリリースです。Python(パイソン)3.10は2026年10月1日にサポート終了を迎え、3.11から3.14には最大8件のCVEの修正が届きました。

Python Language Summit 2026、CPythonへのRust導入と新GCを議論
Python Language Summit(言語サミット)2026の報告が公開されました。47人のコア開発者らが、CPythonへのRust導入、新しいガベージコレクター、stdネームスペース、起動の高速化を話し合いました。