Pythonスクリプトで最小バージョンを強制する方法
コード内でPythonバージョンをチェックし、ユーザーが互換性のないバージョンでスクリプトを実行しないようにできます。シンプルなチェック例を示します:
import sys
if not sys.version_info > (2, 7):
# 10年前のPythonバージョンで実行しているユーザーを警告
pass
elif not sys.version_info >= (3, 5):
# 3.5の機能を使っているため、アップグレードを促す
pass
より実用的な実装例
実際のプロジェクトでは、以下のように明確なエラーメッセージを出力して終了させるのが一般的です:
import sys
MIN_VERSION = (3, 8)
if sys.version_info < MIN_VERSION:
sys.exit(
f"このスクリプトはPython {MIN_VERSION[0]}.{MIN_VERSION[1]} 以上が必要です。\n"
f"現在のバージョン: {sys.version}"
)
# 以降、通常の処理
print("バージョンチェックOK。処理を続行します。")
ポイント
sys.version_infoはタプル形式(major, minor, micro, releaselevel, serial)でバージョン情報を提供- タプル比較が直接可能なので、可読性の高い条件分岐が書ける
- エントリーポイント(
__main__ブロックやCLIツールの先頭)で早期にチェックすると安全
Python
- Python データ型マスター: 実践ガイド
- Python 演算子完全マスター: 包括的ガイド
- Python pass文完全マスター: 実践ガイド
- Python 関数引数完全マスター: 位置引数・キーワード引数・デフォルト引数
- Python辞書完全ガイド:作成、操作、高度なテクニック
- Pythonイテレータ完全ガイド:仕組みと自作方法
- Pythonクロージャ解説:ネスト関数が変数を捕捉する仕組み
- Python datetimeマスター:日付・時刻・タイムゾーン実践ガイド
- Pythonのtime.sleep()をマスター:ベストプラクティス、マルチスレッド、実例
- Pythonループ完全ガイド:for、while、break、continue、enumerate
- Python time.sleep():コードに遅延を追加する方法(例付き)