Pythonで作成したプログラム起動時、自動的に Pythonのバージョンを を切り替えるには
メインページ>コンピュータの部屋#Python>Python Tips
Pythonプログラムの関連付による起動の問題点
Windows に Python をインストールし、例えば Pythonのソースファイルを prime.py を作成すると、 コマンドプロンプトで
prime.py
と叩いたり、explorerの prime.py をダブルクリックするだけで prime.py を簡単にPythonで実行できます。
但し、Python2 と Python3 を両方ともインストールすると、後でインストールしたほうが実行されてしまいます。 これは後でインストールしたPython がファイルタイプ(Python.File, Python.NoConFile)の定義を上書きしてしまうからです。
py.exe/pyw.exe コマンド
Python インストール時 c:\Windows にインストールされる py.exe/pyw.exe コマンドは Python Launcher と呼ばれるものです。
py.exe/pyw.exe コマンドは Pythonスクリプトファイルのシェバン行を読んで、起動する Python インタープリターを切り替えます。
Python ファイルのシェバン行は以下のようにします
Python2 を使う場合
#!Python2
Python3 を使う場合
#!Python3
より細かく Pythonのバージョンまで指定するときは
#!Python3.5
というように指定してください。
py prime.py
というようにプログラムを起動すれば、お望みの python で 実行できます。
インストーラが登録する関連付け
Pythonのインストーラは、pythonファイルのファイルタイプを、以下のようにしてしまいます。 つまり、py.exe/pyw.exe ではなく、直接特定バージョンの pythonインタープリターが .pyファイルに関連付けられます。
Python.File=c:\python27\python.exe "%1" %* Python.NoConFile=c:\python27\pythonw.exe "%1" %*
ファイルタイプの変更
ファイルタイプを以下のように変更すると、
Python.File=py.exe "%1" %* Python.NoConFile=pyw.exe "%1" %*
コマンドプロンプトで
prime.py
というようにした場合でも、シェバン行 による自動選択が可能になります。
ファイルタイプの変更は、管理者として開いたコマンドプロンプトから以下のコマンドで変更できます。
ftype Python.File=py.exe "%1" %* ftype Python.NoConFile=pyw.exe "%1" %*