Python

【Python】バージョンの確認・取得

この記事では、Pythonのバージョンを確認・取得する方法を解説します。コマンドラインから確認する方法と、コード内から取得する方法の2通りを紹介します。

コマンドラインでバージョンを確認

ターミナルやコマンドプロンプトからバージョンを確認するには、pythonコマンドに–versionオプション、または-Vオプションを付けて実行することで確認できます。

$ python --version
Python 2.7.17

$ python -V
Python 2.7.17

3系のバージョンを確認するにはpython3コマンドを使います。

$ python3 --version
Python 3.9.0

$ python3 -V
Python 3.9.0

-VVオプション

-VVオプションを使うことで、さらに詳しい情報を確認することができます。
※ Python3.6から追加

$ python3 -VV
Python 3.9.0 (v3.9.0:9cf6752276, Oct  5 2020, 11:29:23) 
[Clang 6.0 (clang-600.0.57)]

コード内でバージョンを確認・取得

次にコード内でバージョンを確認・取得する方法をみていきます。

バージョン確認

コード内からPythonのバージョンを確認するには、sysモジュールのversionを使います。sys.versionは、インタプリタのバージョン番号やビルド番号、使用コンパイラなどの情報を持った文字列です。

import sys

print(sys.version)

実行結果

3.9.0 (v3.9.0:9cf6752276, Oct  5 2020, 11:29:23) 
[Clang 6.0 (clang-600.0.57)]

参考sys — システムパラメータと関数 — Python 3.9.1 ドキュメント

バージョン取得

コード内でバージョン情報を使用したい場合は、sys.version_infoまたはplatformモジュールを使います。

sys.version_info

sys.version_infoは、バージョン番号をバラバラにして格納したタプルのようなオブジェクトです。

import sys

print(sys.version_info)

実行結果

sys.version_info(major=3, minor=9, micro=0, releaselevel='final', serial=0)

それぞれの要素を取得したい場合は、インデックスを指定するか、名前でアクセスできます。(名前でのアクセスはバージョン 3.1で追加)

import sys

print(sys.version_info[0])
# 3

print(sys.version_info.major)
# 3

参考sys.version_info — Python 3.9.1 ドキュメント

platform.python_version_tuple()

platform.python_version_tuple()は、バージョンを文字列のタプル(major, minor, patchlevel)で返します。

import platform

print(platform.python_version_tuple())

実行結果

('3', '9', '0')

参考platform.python_version_tuple() — Python 3.9.1 ドキュメント

まとめ

この記事では、Pythonのバージョンを確認・取得する方法を解説しました。コード内でバージョンを取得することで、if文を使ってバージョンごとに処理を切り替えたりできます。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

【おすすめ】Python参考書