yohhoyの日記

技術的メモをしていきたい日記

Windows環境でもPythonスクリプトshebangはちゃんと書く

Pythonスクリプトshebang(1行目の#!*1Windows環境でも効果がある。

Windows OSにPython 3.3以降を導入すると、C:\Windowsフォルダ以下にPythonランチャpy.exeがインストールされる。Python 2/3両バージョンがインストールされている場合、同ランチャ経由でPythonスクリプトを実行すると、shebang指定に従って適切なインタプリタが自動選択される。*2

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Python 2用スクリプト"""
#!/usr/bin/env python3
"""Python 3用スクリプト"""

またC:\Windowsフォルダ(環境変数SYSTEMROOT)は既定で環境変数PATHに含まれるため、Pythonインストール先パスを気にしなくて良いというメリットもある。

C:\Users\foo> py script.py

関連URL

*1:wikipedia:シバン_(Unix), wikipedia:en:Shebang_(Unix)

*2:現在ではPython3のソース文字コードUTF-8固定とされるため、文字エンコーディング宣言は推奨されない(should not)。PEP-8 および PEP-263 を参照。