Python

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

この記事では、Pythonのバージョンを確認・取得する方法を解説します。「ターミナルやコマンドプロンプトなどのCUIから確認する方法」と「コード内から取得する方法」の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モジュールは、標準ライブラリなのでimportするだけで使用可能です

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モジュールは、標準ライブラリです

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

まとめ

この記事では、Pythonのバージョンを確認・取得する方法を解説しました。

コード内からバージョンを取得することで、if文を使ってバージョンごとに処理を切り替えたりできます。

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

最短3か月でエンジニア転職『DMM WEBCAMP COMMIT』