世界を動かす技術を、日本語で。

Python 3.15

2026年10月9日原文(python.org)

概要

  • Python 3.15.0 の正式リリース情報
  • 主な新機能や最適化の紹介
  • 各プラットフォーム向けのインストーラやパッケージ案内
  • macOS 27.0のIDLE/tkinterに関する注意点
  • Pythonコミュニティへの感謝と支援の呼びかけ

Python 3.15.0 正式リリース概要

  • リリース日:2026年10月9日
  • Python 3.15.0 は最新のメジャーバージョンリリース
  • 前バージョン(3.14)から 5,643件のコミット、 1,012人の貢献者 による改良
  • 多数の新機能・最適化を搭載

主な新機能・変更点

  • インタプリタ改良
    • PEP 661: sentinel組み込み型の追加
    • PEP 686: デフォルトエンコーディングがUTF-8に変更
    • PEP 798: 内包表記でのアンパッキング対応
    • PEP 810: 明示的な遅延インポートによる起動高速化
    • PEP 814: frozendict組み込み型の追加
    • PEP 829: パッケージ起動設定ファイルの導入
  • JITコンパイラの強化
    • x86-64 Linuxで 7-8% の性能向上
    • AArch64 macOSで 11-12% の高速化
  • エラーメッセージの改善
  • 標準ライブラリの強化
    • PEP 799: Pythonプロファイリングツール整理用パッケージ
    • Tachyon: 高頻度統計サンプリングプロファイラ
  • 型ヒント機能の拡張
    • PEP 728: TypedDictで追加項目型指定
    • PEP 747: TypeFormによる型フォーム注釈
    • PEP 800: 型システムにおける非交差基底クラス
  • C APIの改善
    • PEP 782: PyBytesWriter C API追加
    • PEP 788: ファイナライズ保護
    • PEP 803, 820, 793: フリースレッドビルド向け安定ABI
  • ビルド関連の変更
    • PEP 831: システム監視性向上のためフレームポインタ標準有効化
  • リリース関連の変更
    • Windows 64-bit公式バイナリがtail-callingインタプリタ採用
    • macOS公式バイナリがfree-threadingサポートを標準搭載

macOS 27.0とIDLE/tkinterの注意点

  • macOS 27.0 でIDLEやtkinter利用時、ダイアログ操作によりアプリがハングする現象
  • 影響範囲:Tkグラフィックツールキット全バージョン、全Pythonバージョンのtkinter
  • Tkベースアプリ依存の場合、 macOS 27.0へのアップデートを控える または事前検証を推奨
  • 詳細・進捗は issue #158053 で確認可能

ダウンロード・インストール情報

  • 各種OS・アーキテクチャ向けインストーラ/パッケージを提供
    • ソースコード(tarball, xz圧縮)
    • Android embeddableパッケージ(aarch64, x86_64)
    • iOS XCframework
    • macOSインストーラ(10.15以降対応)
    • Windowsインストーラ(64bit, 32bit, ARM64)、埋め込みパッケージ
    • チェックサム(SHA-256)、Sigstore署名、SBOM情報付与
  • Windows: 'py install 3.15'コマンドによるインストール対応

追加リソース・コミュニティ情報

  • オンラインドキュメント、 PEP 790 ・3.15リリーススケジュール
  • バグ報告: https://github.com/python/cpython/issues
  • Pythonコミュニティ への直接支援やGitHub Sponsors経由での寄付案内

Python 3.15リリース記念TUIゲーム「whatsnewt」

  • Barry Warsaw によるTUIアドベンチャーゲーム「whatsnewt」公開
    • Python 3.15の新機能を実際に使いながら進むパズル
    • uvx --python 3.15 whatsnewt コマンドで簡単プレイ
    • Easter eggも用意
  • pyrefly による型チェック付き問題あり

感謝と協力の呼びかけ

  • Python開発・リリースに貢献した 多くのボランティア への感謝
  • Python Software Foundation への個人・組織協力の推奨
  • Python 3.15ロゴ作成者(Georgi Ker, Marie Nordin)、リリースマネージャー(Hugo van Kemenade)、支援組織(Sovereign Tech Agency)への謝意

変更履歴・ファイル情報

  • 各バージョン・OS・ファイル形式ごとの詳細な ファイルサイズ・チェックサム・署名情報 提供
    • Gzipped/XZ圧縮ソース、各OS用インストーラ/パッケージ、SBOM/SPDX情報付き
    • セキュリティや検証のための SHA-256チェックサム 記載

Hackerたちの意見

XZ圧縮されたソースのtarボールは、3.14のものよりも約1.5倍大きいんだけど、何があったんだろう?ちょっと掘り下げてみたら、全体的にいろんなものが少し大きくなってるみたい。特に、ドキュメントフォルダには、合計で10MB以上のアニメーションGIFが2つ追加されてるんだ(おそらくXZであんまり圧縮できないだろうけど)。それは「tachyon」を示していて(新しいサンプリングプロファイラのことだと思う、https://docs.python.org/3.15/library/profiling.sampling.html)、ターミナルセッションのスクリーンキャプチャみたいなんだけど、TUIがどういうものかを示すには十分だけど、使い方についてはあんまり情報がないかも。静的なスクリーンショットを使ったSVGの図があった方がよかったな。

└

静的なスクリーンショットを基にしたSVGダイアグラムの方がずっと好みだったな。プロジェクトにそれを貢献するのに時間をかけて、ウィンウィンになると思うよ。

実験的なJITコンパイラが大幅にアップグレードされて、標準のインタープリタに対してx86-64 Linuxで7-8%の幾何平均パフォーマンス向上、AArch64 macOSではテイルコールインタープリタに対して11-12%のスピードアップが見られます。ここでの改善が見られて嬉しい!

多くのオープンソースのPythonライブラリをメンテナンスしている者として、新しいPythonのリリースで一番好きなことは、古いバージョンのサポートが終了することを意味することだね。今回はPython 3.10がそれに該当する…つまり、すべての現在のPythonバージョンをサポートすることを目指している私のライブラリが、やっとPython 3.11の機能を取り入れ始められるってこと!これが「Python 3.11の新機能」ドキュメントだよ:https://docs.python.org/3/whatsnew/3.11.html

└

3.11が3.10で壊れずに「受け入れられる」限りはね。ユーザーとしては、3.10がインストールされていてそれで満足してるか、3.10でしか動かないシステムに縛られてるかもしれないから。HNではあまり好まれない意見だけど、「Yが出たからXでユーザーを壊してもいい」ってポリシーは本当に嫌いだな :(。古いバージョンのアプリケーションを使い続ける自由はあるけど。

└

イライラすることに、最新のMac OS XとXcodeにアップグレードしても、まだPython 3.9.6なんだよね。もっと最新のPythonをインストールするように指導することはできるけど、デフォルトの体験が3.9.6を提供するのに比べて、すべてがずっとずっと難しくなるんだ(しかも、uvとかでカスタムバージョンを動かしてるなら、3.15をインストールさせた方がいいよね!)。

└

一方では、4年(4バージョン)遅れているけど、もう一方ではたった4年と4バージョンなんだよね。君のアプローチ、好きだな。それがなかったら進歩はないもん。Googleも似たような方針をいろんなところでやってるよ。

└

そうやっていいものが手に入るんだよ。みんなテストを書いて、リノベートが自動的にパッケージを更新できるようにすればいいんだ。その安全性はテストによって決まるから。

└

エンタープライズディストリビューションは、どのみちPythonを10年間サポートするからね。PythonのLTSリリースがないせいで、実際にはほとんどのバージョンが意図したよりも長く使われることになるんだ。- 3.14: Ubuntu 26.04 - 3.12: RHEL 10, Ubuntu 24.04 - 3.10: Ubuntu 22.04 - 3.9: RHEL 9 - 3.8: Ubuntu 20.04 - 3.6: RHEL 8(2029年にEOL)

これ面白いね:uvx --python 3.15 whatsnewt

PEP 810: 明示的な遅延インポートで起動時間を短縮する。やっと遅延インポートだ!嬉しい!

└

これをグローバルに有効にしない理由ってあるの?

Hacker Newsで議論の続きを見る