5.

Python バージョン確認方法完全ガイド

編集
この記事の要点
  • 基本は python --version または python -V
  • Windows は py -3.11 --version でバージョンごとの確認、py -0 で一覧
  • スクリプトから取得するなら sys.version / sys.version_info / platform.python_version()
  • Linux/Mac で 実体パスを見るには which python3 / ls -l $(which python3)
  • pip 側のバージョンは pip --version で確認 (Python 本体と紐付く)

コマンドラインでの確認

# 基本 (--version / -V どちらでも同じ)
python --version
# → Python 3.11.9

python -V
# → Python 3.11.9

# Linux / macOS は python3 にエイリアス
python3 --version

# OS 別にざっくり
# Windows  : python    (または py)
# macOS    : python3   (system は 2.7 だが廃止)
# Linux    : python3   (system が 3.x のことが多い)

Windows: py ランチャーで複数バージョン

python.org 公式インストーラは py launcher を同梱します。複数バージョンを切り替えるときに便利です:

# インストール済 Python 一覧
py -0
# Installed Pythons found by py Launcher for Windows
#  -3.12-64 *
#  -3.11-64
#  -3.10-64
#  * は既定

# 特定バージョンを起動
py -3.11
py -3.11 --version

# バージョン指定で pip
py -3.11 -m pip install requests

# 既定バージョンを変える
# 環境変数 PY_PYTHON=3.11 を設定 (または py.ini)

スクリプト内から取得

import sys

# 文字列 (詳細)
print(sys.version)
# 3.11.9 (tags/v3.11.9:de54cf5, Apr  2 2024, ...) [MSC v.1938 64 bit (AMD64)]

# 数値タプル (条件分岐に便利)
print(sys.version_info)
# sys.version_info(major=3, minor=11, micro=9, releaselevel='final', serial=0)

# 個別アクセス
print(sys.version_info.major)   # 3
print(sys.version_info.minor)   # 11
print(sys.version_info.micro)   # 9

# 条件分岐の例
if sys.version_info < (3, 10):
    raise RuntimeError("Python 3.10+ required")

# 文字列形式だけ欲しい場合
import platform
print(platform.python_version())          # 3.11.9
print(platform.python_version_tuple())    # ('3', '11', '9')
print(platform.python_implementation())   # CPython / PyPy / Jython

実体パス (which / where)

# Linux / macOS
which python3
# → /usr/local/bin/python3

ls -l $(which python3)
# シンボリックリンク先まで確認

# 全候補を見る (PATH 上の重複)
which -a python3

# Windows コマンドプロンプト
where python
# C:\Users\xxx\AppData\Local\Programs\Python\Python311\python.exe

# Windows PowerShell
(Get-Command python).Source

仮想環境内かどうかの判定

import sys

# sys.prefix と sys.base_prefix が異なれば venv の中
def in_venv() -> bool:
    return sys.prefix != getattr(sys, "base_prefix", sys.prefix)

print("In venv:", in_venv())
print("prefix:", sys.prefix)
print("base :", sys.base_prefix)

# conda の場合は環境変数で判定
import os
print("CONDA_DEFAULT_ENV:", os.environ.get("CONDA_DEFAULT_ENV"))

pip のバージョン

pip は Python 本体と 1 対 1 で紐付いています。どの Python の pip かを必ず一緒に確認してください。

pip --version
# pip 24.0 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)

# 明示的に対象 Python を指定
python -m pip --version
py -3.11 -m pip --version

# pip 更新
python -m pip install --upgrade pip

よくある混乱

症状原因対処
python でストアアプリが開く (Windows)WindowsApps のスタブ設定 → アプリ実行エイリアス → Python OFF、または py を使う
OS の python3 と pyenv の python3 が混在PATH の順序which -a python3 で確認し PATH を整理
venv 有効化後もシステム python が呼ばれるactivate されていないプロンプトに (.venv) 表示があるか
python: command not found (macOS / Linux)python3 のみインストールpython3 を使う、または alias python=python3

サポート期間 (EOL) の確認

Python は毎年 10 月にメジャーリリース、5 年でサポート終了です。実行中のバージョンが EOL を過ぎていないか定期確認しましょう:

  • Python 3.8 : 2024-10 EOL (サポート終了)
  • Python 3.9 : 2025-10 EOL
  • Python 3.10: 2026-10 EOL
  • Python 3.11: 2027-10 EOL
  • Python 3.12: 2028-10 EOL
  • Python 3.13: 2029-10 EOL (2024-10 リリース)

FAQ

Q: pythonpython3 の違いは?
A: Linux/macOS で python は歴史的に Python 2 を指していたため、Python 3 を確実に呼ぶには python3 を使います。Windows は python = Python 3 です。

Q: 同じマシンに複数 Python を入れたい
A: Windows なら公式インストーラを複数バージョン並べて py -3.11 / py -3.12 で切替、Linux/Mac なら pyenv 推奨。

Q: 古いバージョンを使い続けても問題ない?
A: EOL を過ぎたバージョンはセキュリティ修正が出ません。本番運用なら最低でもサポート中のバージョンを使ってください。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. 環境構築
  2. 文法
  3. フレームワーク
  4. ライブラリ
  5. バージョンの確認
  6. エラー一覧
  7. Webスクレイピング
  8. Excelの読み込み/書き込み操作(openpyxl編)
  9. Excelのセルの値を読み込む方法(xlrd編)
  10. ローカルで独立して動くPythonプログラムとパッケージの事前インストール方法
  11. プログラム実行時のパスを取得