「Pythonで作成したプログラム起動時、自動的に Pythonのバージョンを を切り替えるには」の版間の差分

提供: tknotebook
移動: 案内検索
(相違点なし)

2018年11月18日 (日) 04:17時点における版

メインページ>コンピュータの部屋#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" %*