Pythonのスクリプト.pyファイルをダブルクリックで起動実行する方法

Pythonはスクリプト言語なので、手軽に記述できて、手軽に実行できるのが利点です。

その利点を最大限に活かせるように、ダブルクリックでPythonのスクリプトファイル(.py)を起動実行する方法をメモしておきます。

……おそらく、Pythonをインストールしたときのデフォルト初期設定では、ダブルクリックでPythonのスクリプトファイル(.py)を実行できるようになっていたと思うのですが、私のように設定を変更してしまった後に困ったという人がこの記事を見るのだろう思っています。

Pythonの実行環境

私の環境はWindows10で、Pythonのバージョンは3.6です。

Pythonのバージョンはおそらく関係なく利用できる方法だと思います。
OSがWindows以外の人は……ごめんなさい。この記事の内容はWindows向けになります。

Pythonのスクリプト.pyファイルをダブルクリックで起動実行する方法

Pythonのスクリプトファイルを実行しようというときに、コマンドラインを立ち上げて、そこにPythonコマンドでスクリプトを実行するという方法がありますが、この方法は毎回やるのは面倒です。

特に定型的なちょっとした作業を楽にするために作ったPythonスクリプトを素早く実行したいときに、毎回コマンドラインの立ち上げを行っていたらその面倒さに発狂してしまうと思います。

なので、Pythonのスクリプトファイルをクリックのみで実行できるようにしておくことは必須かと思います。

Pythonのスクリプト.pyファイルをダブルクリックで起動実行するには、Pyhonのソースコードが書かれたスクリプトファイルである.pyファイルをPythonの実行プログラムに関連付けることで可能になります。

(デフォルトの初期設定では、こうなっていると思います。テキストエディタやIDEに関連付けた人は元に戻すことになります。私がそうでした…)

この記事を読むような人には、説明は不要かと思いますが、プログラムの紐づけ方は以下のように行います。
(すでに設定を終えた後に説明用にキャプチャした画像なので、その点はご了承ください)

Pythonのスクリプト.pyファイルをダブルクリックで実行する設定

上の図の赤枠をクリックして、下のようになったら、Pythonプログラムを「その他のアプリ」などから見つけてきたら選択して、赤枠部分の箇所にチェックをつけて「OK」を押します。

Pythonのスクリプト.pyファイルをダブルクリックで実行する設定

この設定によって、Pythonのスクリプト.pyファイルをダブルクリックで実行できるようになったと思います。

ちなみに、PyhonのGUIプログラムをダブルクリックで実行したいときは、拡張子を.pywにした方がいいかと思います。

(設定をいじっていなければ).pyはpython.exeに関連付けられていて、.pywはpythonw.exeに関連付けれられています。

python.exeとpythonw.exeの違いは、コンソール向けなのか、ウィンドウズ向けなのかというだけの違いみたいです。

なので、python.exeで実行するとコンソール画面が起動しますが、pythonw.exeで実行すればコンソール画面が起動せず、PyhonのGUIプログラムの画面だけを立ち上げることができます。

 

Edit with IDLEが表示されないことについて

上述の操作をしてプログラムの関連付けをしても、上画像のように「Edit with IDLE」が表示されないという人もいるかもしれません。

それは、一度、Python以外のプログラムを関連付けしたことによる設定変更がレジストリに残っていることが原因になります。

なので、Edit with IDLEを表示する方法としては、レジストリ設定を自分で書き換えることになります。私はそうしました。

レジストリがわかる、かつ、Edit with IDLEを表示させたいという人はレジストリエディタでレジストリを設定してください。

 

Edit with IDLEが表示させる方法

どのように設定したのか、この記事を書いてときにはうろ覚え状態なのですが……一応、参考までに私の場合はどうだったかを雑に書いておきます。

 

なお、レジストリについて全く知らないという人は、下の記事などを先に軽く読んでからじゃないと意味がわからないと思います。

右クリックメニューのショートカットキーをレジストリで変更設定する方法

レジストリのバックアップ方法

 

レジストリの設定を確認、変更するのは2か所になります。

①下記レジストリにコマンドが設定されているかを確認する。

コンピューター\HKEY_CLASSES_ROOT
\Python.File\Shell\editwithidle\shell\edit36\command

レジストリパスというか右クリックコンテキストメニューの表示内容は人の好みですが、ここら辺に、

“C:\Users\ユーザー名\AppData\Local
\Programs\Python\Python36\pythonw.exe” -m idlelib “%L” %*

みたいなコマンドが設定されているかを確認してください。

②下記レジストリのpython.exeの優先順位が低い(?)ままになっていないかを確認する。

コンピューター\HKEY_CURRENT_USER\Software
\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\OpenWithList

「Pythonのスクリプト.pyファイルをダブルクリックで起動実行する方法」で説明した方法でプログラムを関連付けても、ここのレジストリのpython.exeの優先順位が低いままみたいになっているようなので、優先順位を上げるというかデフォルト設定に戻すようにします。

コマンド設定、プログラムの関連付けをすれば「Edit with IDLE」は表示されるようになると思います。

 

Pyhonプログラムの実行後にコンソール画面を閉じない方法

pyファイルをダブルクリックで実行すると、コンソール画面から実行したときとは違い、デフォルトの設定ではプログラム実行後に自動でコンソール画面が閉じるように設定されています。

エラーが起きて内容を確認がしたいときや、そもそもプログラム実行後そのままコンソール画面を閉じずにいたいときや、対話形式に移行してプログラミングをしていきいときは、レジストリ設定を自分で書き換える必要があると思います。(これは他にも方法はあると思いますが……)

私の場合は、右クリックを押したときに表示されるメニューをカスタマイズして「Open -noExit」を押して起動したときは実行後にコンソール画面を閉じないようにしました。

タイトルとURLをコピーしました