Categories: Python

【Python】バージョンの確認・取得する方法

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

バージョンを取得するには以下の2つの方法があります。

  • ターミナルやコマンドプロンプトなどのCUIから確認する方法
  • ソースコード内から取得する方法

それでは、バージョンを取得する方法を1つずつ見ていきましょう!

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

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

ちなみに、-VVは大文字です。

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

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)

それぞれの要素を取得したい場合は、インデックスを指定するか名前でアクセスできます。(名前でのアクセスはPython 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文を使ってバージョンごとに処理を切り替えたりできます。

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

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

View Comments

Recent Posts

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

7か月 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

7か月 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

7か月 ago

【Unity】割合から数値に数値から割合に変換する

この記事では、割合から数値に変換する関数…

7か月 ago

【Python】抽象クラスを定義する方法

この記事では、Pythonで抽象クラスを…

7か月 ago