[解決!Python]Pythonのサポート期限まとめ解決!Python

2024年1月時点でのPythonの各バージョンのサポート期限と、bugfixやsecurity、end-of-lifeなど、サポート状態を示す用語、Pythonのバージョンとの関連についてまとめた。

» 2024年01月23日 05時00分 公開
[かわさきしんじDeep Insider編集部]
「解決!Python」のインデックス

連載目次

バージョン 最新のマイクロバージョン サポート期限 状態
Python 3.12 3.12.1 2028年10月 bugfix(バグ修正)
Python 3.11 3.11.7 2027年10月 bugfix(バグ修正)
Python 3.10 3.10.13 2026年10月 security(セキュリティ修正)
Python 3.9 3.9.18 2025年10月 security(セキュリティ修正)
Python 3.8 3.8.18 2024年10月 security(セキュリティ修正)
↑サポート期間中
↓サポート終了
Python 3.7 3.7.17 2023年6月27日 end-of-life(サポート終了)
Python 3.6 3.6.15 2021年12月23日 end-of-life(サポート終了)
Python 3.5 3.5.10 2020年9月30日 end-of-life(サポート終了)
Python 3.4 3.4.10 2019年3月18日 end-of-life(サポート終了)
Python 3.3 3.3.7 2017年9月29日 end-of-life(サポート終了)
Python 3.2 3.2.6 2016年2月20日 end-of-life(サポート終了)
Python 3.1 3.1.5 2012年4月9日 end-of-life(サポート終了)
Python 3.0 3.0.1 2009年6月27日 end-of-life(サポート終了)
Python 2.7 2.7.17 2020年1月1日 end-of-life(サポート終了)
Pythonの各バージョンのサポート期限と状態(2024年1月19日時点)

状態 行われる作業 バイナリファイルのリリース 備考
bugfix バグ修正/セキュリティ修正 メインテナンスモード、ステーブルリリースとも呼ばれる
security セキュリティ修正のみ × ソースコードのみの提供
end-of-life コードが修正されることはない
状態を表す値

 これは2024年1月19日時点の情報をまとめたものです。

Pythonのサポート期限

 Pythonのドキュメント「Status of Python versions」によれば、Pythonの新バージョン(3.10、3.11、3.12など、マイナーバージョンが上がり、新機能を提供するようになったバージョン。フィーチャーリリース、機能リリースとも)は、デフォルトではその初回リリースの5年後にサポートが終了する(end-of-lifeとなる)ようにスケジュールが設定されている。

 例えば、Python 3.7の初回リリースは2018年6月27日であり、サポートが終了したのはその5年後の2023年6月27日だ。また、Python 3.8の初回リリースは2019年10月14日、サポートが終了するのはその約5年後である2024年10月となっている。

 こうしたことを踏まえて、2024年1月19日時点でのPythonのサポート状況をまとめると次のようになる。

  • サポートされているバージョン:Python 3.8以上
  • サポートが終了しているバージョン:Python 3.7以下

 サポートされているバージョンについて、いつサポート期限が来るかは冒頭に示した表を参照されたい。

 また上記表の「状態」列を見ると分かるが、どのような形でサポートされるかには種類がある。おおまかにいえば、以下の2種類に分けられる。

  • bugfix:バグ修正とセキュリティ修正が行われ、バイナリもリリースされる。メインテナンスモードやステーブルリリースなどとも呼ばれる
  • security:セキュリティ修正のみが行われ、バイナリの配布は行われず、ソースコードのみがリリースされる

 例えば、以下は現在security状態にあるPython 3.10.13のダウンロードページだが、ソースコードのみが提供されていることが分かる。

Python 3.10.13のダウンロードページ Python 3.10.13のダウンロードページ

 この他にもフィーチャーリリースに至る前のfeature(新機能の受け入れ、バグ修正、セキュリティ修正などが行われる開発段階の状態を表す)やprerelease(フィーチャーリリースに含まれる新機能などが決定し固定された後、機能の修正、バグ修正、セキュリティ修正などが行われるリリース前の段階を表す)もあるが、これらの詳細についてはPythonのドキュメント「Status of Python versions」「Development cycle」などを参照のこと。

 サポートが終了したバージョンについては「end-of-life」という状態になり、コードベースがそれ以上変更されることはなくなり、セキュリティ修正などが行われたバージョンがリリースされることもなくなる。

Pythonのバージョンとの関係

 Pythonのバージョンは「メジャーバージョン.マイナーバージョン.マイクロバージョン」で示される。例えば、Python 3.12.0はメジャーバージョンが「3」、マイナーバージョンは「12」、マイクロバージョンが「0」である。

 現在では、Pythonの新バージョンといえば、マイナーバージョンが1つ上がり、マイクロバージョンが「0」となるリリースのことを指す(例:Python 3.12.0、Python 3.11.0など)。

 現状では新しいメジャーバージョン(Python 4)が近年のうちにリリースされることは想定されていない。また、新しいマイナーバージョンは年に一度、10月に新しい機能などを含む形でリリースされている。新しいマイクロバージョンは、バグ修正やセキュリティ修正を含むもので、およそ2カ月に一度リリースされる(新しいマイクロバージョンに新機能が追加されるようなことはない)。

 上記のbugfixとは、新しいマイナーバージョンがリリースされた後に、バグ修正やセキュリティ修正が行われたバージョンがリリースされる状態のことだ。このときにはマイクロバージョンが1つずつ上がっていく(例:Python 3.12.1)。

 また、新しいマイナーバージョン(例:Python 3.12)でbugfixリリースが何度か行われた時点で、以前のマイナーバージョン(例:Python 3.11)はsecurity状態となる。security状態では、既に述べたようにセキュリティ修正のみが行われ、ソースコードのみが提供される。securityモードでリリースされるバージョンについては、bugfixのマイクロバージョンを受け継いで、マイクロバージョンが1つずつ上がっていく。

 現在、自分が使用しているPythonのバージョンは最長でも5年でサポートが終了することは頭に入れておこう。

「解決!Python」のインデックス

解決!Python

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。