閉じる

Pythonのバージョンの確認方法(Windows/Mac対応)

自分の環境に入っているPythonが何バージョンなのかを正しく把握しておくと、ライブラリの対応可否やコードの挙動の差を予測しやすくなります。

本記事ではWindowsとMacの両方で、コマンドライン、仮想環境、IDE、さらにはコードから取得する方法まで、初心者の方にもわかりやすく丁寧に解説します。

コマンド早見表

最初に、目的別に最短で確認できるコマンドをまとめます。

以降で詳しく説明します。

目的WindowsMac
いま使われるPythonのバージョンを知りたいpy -V または python --versionpython3 --version
インストール済みを一覧で見たいpy -0 または py -0pwhich -a python3
実行ファイルの場所を知りたいwhere python または py -0pwhich -a python3
仮想環境で確認したい有効化後に python --version有効化後に python --version

以下では、Windows、Mac、仮想環境やツール別、そしてコードから取得する方法の順に詳しく解説します。

WindowsでPythonのバージョンを確認する

PowerShell/コマンドで確認(py -V, python –version)

どちらを使うべきか

WindowsではPythonランチャーであるpyコマンドが標準で導入されることが多く、複数バージョンがある場合でも最適に選択してくれます。

まずはpy -Vで確認し、必要に応じてpython --versionでも確認すると違いが見えて便利です。

実行例(PowerShell, コマンドプロンプト共通)

PowerShell
# Pythonランチャー経由でデフォルトPythonのバージョンを表示
py -V

# PATH上のpython.exeのバージョンを表示
python --version
実行結果
Python 3.11.6
Python 3.11.6

バージョンが異なる表示になる場合は、pyが指すデフォルトとPATH上のpythonが異なる場所を指している可能性があります。

複数バージョンを一覧表示(py -0, py -0p)

インストール済みの一覧を表示

PowerShell
# インストール済みPythonの一覧
py -0
実行結果
Installed Pythons found by py Launcher for Windows:
 - 3.12-64
* 3.11-64
 - 3.10-64

アスタリスク(*)がデフォルトで使われるバージョンです。

絶対パスつきで一覧表示

PowerShell
# バージョンごとの実行ファイルの絶対パスを表示
py -0p
実行結果
 - 3.12-64 C:\Users\you\AppData\Local\Programs\Python\Python312\python.exe
* 3.11-64 C:\Users\you\AppData\Local\Programs\Python\Python311\python.exe
 - 3.10-64 C:\Users\you\AppData\Local\Programs\Python\Python310\python.exe

特定バージョンを明示して確認

PowerShell
# 3.11系でバージョン表示
py -3.11 -V
実行結果
Python 3.11.6

インストール場所を確認(where python, py -0p)

whereコマンドで場所を確認

PowerShell
# PATH検索で見つかるpython.exe
where python

# ランチャーpy自体の場所も参考までに
where py
実行結果
C:\Users\you\AppData\Local\Programs\Python\Python311\python.exe
C:\Windows\py.exe

複数行が出る場合は、上から順に優先されることが多いです。

Microsoft Storeのエイリアスが混ざるとWindowsApps配下が表示されることもあります。

Pythonランチャーで場所を確認

前述のpy -0pは、各バージョンの実体のパスが一度にわかるため、場所確認に最も確実です。

コマンドが見つからない時(PATHの確認)

代表的なエラー表示

pythonpyが見つからない場合、以下のような表示になります。

PowerShell
'python' is not recognized as an internal or external command,
operable program or batch file.
PowerShell
INFO: Could not find files for the given pattern(s).

解決の流れ

まずpy -Vを試し、だめならpython --versionの順に確認します。

どちらも失敗する場合はPython自体が未インストールか、PATHに登録されていない可能性があります。

再インストール時にインストーラの冒頭でAdd Python to PATHにチェックを入れて進めると、最も簡単に解決します。

すでにインストール済みなら、システムの環境変数PathC:\Users\あなた\AppData\Local\Programs\Python\Python3x\と、その直下のScripts\が含まれているかを確認してください。

さらに、Store版のエイリアスが邪魔をする場合があるため、設定アプリのアプリ実行エイリアス(設定 > アプリ > アプリ実行エイリアス)でpython.exepython3.exeのトグルをオフにするのも有効です。

MacでPythonのバージョンを確認する

ターミナルで確認(python3 –version)

基本の確認

Macではpythonが旧版やプレースホルダである場合があるため、python3で確認するのが確実です。

Shell
# macOS標準のターミナルやiTerm2で実行
python3 --version
実行結果
Python 3.11.7

command not found: python3と出た場合は、Homebrewや公式インストーラからPythonをインストールしてください。

複数バージョンとパスを確認(which -a python3)

どのpython3が使われるか

Shell
# PATH上で見つかるpython3を優先順にすべて表示
which -a python3
実行結果
/opt/homebrew/bin/python3
/usr/bin/python3

先頭に表示されるものが実際に使われます。

シンボリックリンクの先を見たい場合はls -l "$(which python3)"が参考になります。

HomebrewやpyenvのPythonを確認(brew, pyenv)

Homebrewで入れたPythonの確認

HomebrewではPythonのフォーミュラ名がpythonまたはpython@3.xとなることがあります。

次のコマンドでバージョンや設置場所を把握できます。

Shell
# インストール済みのPythonの情報
brew info python

# バージョンの一覧(フォーミュラ名は環境によりpython@3.12などになる)
brew list --versions python || brew list --versions python@3.12

# 実体のプレフィックス(インストール先の基点パス)
brew --prefix python || brew --prefix python@3.12
実行結果
python: stable 3.12.2 (bottled)
...
/opt/homebrew/opt/python@3.12
python@3.12 3.12.2

pyenvで入れたPythonの確認

Shell
# インストール済みのバージョン一覧。*印が現在選択中
pyenv versions

# グローバル(デフォルト)に使うバージョン
pyenv global

# いまのシェルで使われるpython実体のパス
pyenv which python
実行結果
  system
  3.10.13
* 3.11.6 (set by /Users/you/.pyenv/version)
3.11.6
/Users/you/.pyenv/versions/3.11.6/bin/python

pyenvを使う場合はeval "$(pyenv init -)"の初期化をシェルに設定しておくと、期待通りのバージョン切り替えが機能します。

仮想環境やツール別にPythonのバージョンを確認

venv/virtualenvで確認(有効化後に python –version)

仮想環境の作成と有効化

プロジェクトごとに仮想環境を作ると、環境ごとにPythonバージョンが明確になります。

作成後に有効化し、python --versionで確認します。

Windowsの例:

PowerShell
# デフォルトのPythonで仮想環境を作成
py -m venv .venv

# 仮想環境を有効化
.\.venv\Scripts\activate

# 仮想環境内のPythonバージョンと実体の場所を確認
python --version
where python
実行結果
Python 3.11.6
C:\path\to\project\.venv\Scripts\python.exe

Macの例:

Shell
# デフォルトのPython3で仮想環境を作成
python3 -m venv .venv

# 仮想環境を有効化
source .venv/bin/activate

# 仮想環境内のPythonバージョンと実体の場所を確認
python --version
which python
実行結果
Python 3.11.7
/Users/you/path/to/project/.venv/bin/python

仮想環境を抜けたい場合はdeactivateを実行します。

Anaconda/condaで確認(conda env list, python –version)

環境一覧と環境内のPython

Shell
# condaの環境一覧と現在の環境(*印)
conda env list

# 目的の環境を有効化してからPythonバージョンを確認
conda activate myenv
python --version
実行結果
# conda environments:
#
base                  *  /Users/you/miniconda3
myenv                    /Users/you/miniconda3/envs/myenv
実行結果
Python 3.10.13

環境を有効化したくない場合は、conda run -n myenv python --versionでも確認できます。

VS Codeで確認(インタープリタ選択)

VS Codeの操作手順

VS Codeは選択したインタープリタがワークスペースごとに記録され、そのバージョンがステータスバーに表示されます。

ウィンドウ左下のPythonバージョン表記をクリックするか、コマンドパレット(Ctrl+Shift+PまたはCmd+Shift+P)でPython: Select Interpreterを実行し、一覧から目的のインタープリタを選びます。

選択後は統合ターミナルを開き、次のように確認します。

Shell
python -V
実行結果
Python 3.11.6

ターミナルのシェルが外部のPATHを優先しているとずれが出る場合があるため、その場合はコマンドパレットでPython: Create EnvironmentPython: Select Interpreterを再設定し、ステータスバーの表示と一致するかを確認します。

PyCharmで確認(Project Interpreter)

PyCharmの操作手順

PyCharmでは、設定画面のSettings/Preferences > Project: {プロジェクト名} > Python Interpreterで、現在のプロジェクトに紐づくインタープリタとそのバージョン、実行ファイルの場所が確認できます。

右上のギアアイコンからAdd...を選べば、新しい仮想環境の作成や、既存インタープリタ(venv、Conda、システムPython、WSL、Dockerなど)の追加も可能です。

選択後、PyCharmのターミナルでpython --versionを実行すれば、設定と実行結果が一致しているか確認できます。

コードからPythonのバージョンを取得する

sys.version と platform.python_version() を使う

それぞれの違い

  • sys.versionはビルド情報を含む詳細な文字列です。最適化フラグやコンパイラ情報まで含まれることがあります。
  • sys.version_infoは(major, minor, micro, releaselevel, serial)のタプルで、条件分岐に使いやすい形式です。
  • platform.python_version()"3.11.6"のようなシンプルな文字列で、表示用途に向いています。
  • あわせてsys.executableを出力すると、実際に使われているPython実行ファイルのフルパスがわかります。

実行時にprintで表示する例

以下のサンプルコードは、代表的な取得方法と、その差を見比べられるようにコメントを付けています。

ファイル名はshow_python_version.pyなどにして保存し、実行してください。

Python
# show_python_version.py
# 目的:
#   - Pythonのバージョンを複数の方法で取得・表示する
#   - 実行中のPython実体(sys.executable)の場所も併せて確認する

import sys
import platform

def main() -> None:
    # 詳細な文字列(コンパイル情報など含む場合あり)
    print("[sys.version]")
    print(sys.version)
    print()

    # 機械的に扱いやすいタプル
    print("[sys.version_info]")
    vi = sys.version_info
    print(f"major={vi.major}, minor={vi.minor}, micro={vi.micro}, "
          f"releaselevel={vi.releaselevel}, serial={vi.serial}")
    print()

    # 表示に適したシンプルな形式
    print("[platform.python_version()]")
    print(platform.python_version())
    print()

    # 実行ファイルのフルパス(どのPythonで動いているか)
    print("[sys.executable]")
    print(sys.executable)
    print()

    # ついでに実装名(CPython, PyPyなど)も
    print("[platform.python_implementation()]")
    print(platform.python_implementation())

if __name__ == "__main__":
    main()
実行結果
[sys.version]
3.11.6 (main, Dec  7 2023, 10:34:05) [Clang 14.0.3 (clang-1403.0.22.14.1)]

[sys.version_info]
major=3, minor=11, micro=6, releaselevel=final, serial=0

[platform.python_version()]
3.11.6

[sys.executable]
/Users/you/path/to/project/.venv/bin/python

[platform.python_implementation()]
CPython

このように、コード内でバージョンや実行ファイルの場所をログに出しておけば、仮想環境やリモート実行時でも意図と実態の差を素早く発見できます。

まとめ

Pythonのバージョン確認は、Windowsならまずpy -V、Macならpython3 --versionが最短です。

複数バージョン共存時は、Windowsではpy -0py -0pで一覧と実体パスを、Macではwhich -a python3で優先順と所在を把握できます。

仮想環境を有効化してからpython --versionを実行すれば、プロジェクト単位のバージョンが明確です。

IDEの設定画面(VS Codeのインタープリタ選択、PyCharmのProject Interpreter)と、実際のターミナル出力が一致しているかを常に確認するとトラブルを避けられます。

最後に、sys.version_infoplatform.python_version()をコードに組み込むと、環境差異の切り分けが格段に楽になります。

バージョンの見える化を習慣にし、安心して開発を進めていきましょう。

この記事を書いた人
エーテリア編集部
エーテリア編集部

人気のPythonを初めて学ぶ方向けに、文法の基本から小さな自動化まで、実際に手を動かして理解できる記事を書いています。

クラウドSSLサイトシールは安心の証です。

URLをコピーしました!