Pythonファイルの実行方法、ダブルクリックでの実行方法

Pythonの開発はJupyter ntoebookで進めることが多いと思いますが(とくにデータサイエンス)、毎日決まったプログラムを動かす場合はjupyter notebookではなく、.pyファイルを実行する方法がより高速な処理が可能です。本稿ではPythonで作成した拡張子が.pyのファイルをconda環境で実行する方法を3通りご紹介します。1つ目はAnaconda Prompt(miniconda)を立ち上げて実行する方法、2つ目が.pyファイルをダブルクリックで実行する方法、3つ目がbatファイルのダブルクリック実行により、間接的に.pyファイルを実行する方法です(Windowsが前提)。3つ目の方法は、2つ目の方法がうまく行かない場合、又はcondaで作成した仮想環境内でpythonのプログラムをダブルクリック実行したい場合に有効です。

本稿で使用した環境:

  • Windows 10
  • Conda 4.13.0
  • Python 3.9.12

本稿で使用するテスト用のpythonプログラム:

test.py

print("Started")
print("Done")
k = input("Press any key to terminate")

Pythonのプログラムをダブルクリックしてもターミナルが一瞬で閉じてしまうため、1行目と2行目のprint文が正常に実行されたか否かがわかりません。3行目はターミナルを閉じないためのプログラムです。エラーが生じた場合に、プログラムの誤りが原因なのか、本稿でご紹介する設定が原因なのかを判別しやすくするため、テストで使用するpythonファイルはエラーが生じにくい最小の構成とすることをお勧めします。

前提:Pythonの環境変数の設定

本稿の次節以降で紹介するいずれの.pyファイルの実行方法も、前提としてPC他環境にAnaconda又はMinicodaがインストールされていることと、本章で解説するPython環境変数の設定が必要です(環境変数の設定はAnaconda又はMinicondaをインストールをもって済んでいる場合もあります)。インストールと設定が済んでいる方は、この章を読み飛ばしてください。

Anaconda又はMinocondaのインストール

AnacondaもMinocondaもインストールされていない場合、個人が使いPCに十分なストレージとメモリが32GB以上ある場合はAnacondaを、それ以外の場合はMinicnodaのインストールをお勧めいたします。Anacondaはデータサイエンスを中心に様々なパッケージがまとまって入っているので便利ですが、容量も動作が重く、一定の規模の会社が使う場合は有償とされています。JupyterNotebook含めて、開発に必要なあらゆるパッケージは無償のMinicondaのインストール後に追加でインストール可能です。

Miniocondaのインストールはこちら: https://docs.conda.io/en/latest/miniconda.html

Python環境変数の設定

Python環境変数を設定するためには、先ず、Anaconda(Miniconda)のpython実行ファイル(python.exe)が格納されている場所を特定します。Anaconda Promptを起動後、下記のコードを打ちます。

where python

そうすると幾つかのパスが返されると思いますので、その中でpython.exeがあるパスを探します。python.exeが複数ある場合はanaconda3又はminiconda3を通るところを探し、いずれもない場合はその他のpython.exeがあるところを探します。パスは環境とcondaをインストールした場所によって異なります。例えば私の関わる4つの環境でも次のようにバラバラです。1つ目がAnaconda3を通るもの、2つ目と3つ目がminiconda3を通るもの、4つ目はminiconda3をインストールするも、miniconda3又はanaconda3を通るパスがないケース(諸事情によりpython実行ファイル一式を他に移したケース)です。

  • C:\ProgramData\Anconda3\python.exe
  • C:\Users\USER\minicnoda3\python.exe
  • C:\Users\project_a\miniconda3\python.exe
  • E:\Program_Files_Conda\python.exe

続いて、Pythonの環境変数を設定します。Windowsキーを押して、「システム環境変数の編集」を検索、同クリックします。続いて、詳細設定のタブ > 下段の環境変数 > 上段の変数一案から「Path」を選択し、 > 編集を開きます。画面の中に、先ほどwhere pythonで確認したpython.exeへのパス(python.exeそのものは除く)があれば問題ないのでそのまま閉じてください。パスがない場合は、右上の新規又はNewをクリックして、先ほど調べたパスを記入し、Enterを押してください。下記は私の2つ目の環境の事例です。where pythonコマンドでは、「C:\Users\USER\minicnoda3\python.exe」と表示されていましたが、ここではpython.exeをとって、「C:\Users\USER\minicnoda3」とします。

Python環境変数の設定

1. Anaconda Prompt(minconda)内で実行する方法

Windowsキーを押し、Anacondaとして検索してAnaconda Prompt(miniconda)を起動します。起動後、.pyファイルが格納されているフォルダにcdで移動します。下記は、C:\Users\project_aからC:\Users\project_a\OneDrive\デスクトップ\devに移動するコマンドの例です。

(base) C:\Users\project_a > cd C:\Users\project_a\OneDrive\デスクトップ\dev

入力後Enterを押すと、移動できます。

(base) C:\Users\project_a\OneDrive\デスクトップ\dev >

pythonファイル(本事例ではtest.py)があるフォルダに移動後は、test.pyとファイル名を打ち、Enterを押すとプログラムが実行できます。

(base) C:\Users\project_a\OneDrive\デスクトップ\dev > test.py

本稿の冒頭でご紹介した3行のtest.pyファイルを使うと、下記のような実行結果になるはずです。この方法で失敗する場合は、次でご紹介するダブルクリックでの実行もできません。失敗した場合は、環境変数の設定に誤りがあると思われるので、もう一度前章に戻ってご確認ください。

(base) C:\Users\project_a\OneDrive\デスクトップ\dev > test.py
Started
Done
Press any key to terminate

2. .pyファイルをダブルクリックで実行する方法

サーバを常時稼働させる場合は、1でご紹介した方法でプログラムを実行・監視しますが、それ以外の都度実行の場合は毎回Anaconda Promptを立ち上げて、Pythonファイルを実行するのは非効率です。そこで.pyファイルをダブルクリックで実行する設定をします。先ずは、pythonの実行環境ファイル(python.exe)の場所をwhere pythonコマンドを使って特定します。具体的な方法は、前述1.2章「Python環境変数の設定」をご確認ください。先ほどと同様、例えば「C:\Users\USER\minicnoda3\python.exe」と表示されれば、python.exeをとって、「C:\Users\USER\minicnoda3」の部分を使います(Ctrl + Cでコピーして控えます)。次に実行したい.pyファイルを右クリック > プログラムから開く > 別のプログラムを選択をクリックします。


pythonファイルをダブルクリックで実行する方法

続くボックスで、「常にこのアプリを使って.pyファイルを開く」のチェックボックスをチェックの上、「その他のアプリ」をクリックします。


pythonファイルをダブルクリックで実行する方法 - その他のアプリ

一番下までスクロールし、「このPCで別のアプリを探す」をクリックします。
pythonファイルをダブルクリックで実行する方法 - このPCで別のアプリを探す

エクスプローラーが開くので、アドレスの欄に先ほど控えたpython.exeのパスを入れてEnterを押します。遷移した先からpython.exeをクリック、下段のファイル名にpython.exeが表示されているのを確認後、右下の開くを押します。

pythonファイルをダブルクリックで実行する方法 - python.exeを選択

こうすると、この作業の前までは.pyでメモ帳のアイコンだっだところ、pythonのアイコンに変わっていると思いますので、試しにダブルクリックしてみてください。本稿の冒頭でご紹介したテストファイルを使用された場合は、下記のように表示されれば成功です。

start
done
Press any key to terminate

3. batファイルで.pyファイルをダブルクリック実行する方法

以上の設定でpytonの.pyファイルは問題なくダブルクリック実行できるはずですが、希にうまく行かないことがあります。また、2の方法では仮想環境でpythonファイルを実行することができません。そのようなときはWindowsのbatファイルを利用します。batファイルを利用すると、コマンドプロトコルのコマンドを、ダブルクリックで実行することができます。

仮想環境が不要な場合

始めに仮想環境なしでbatファイルを経由して.pyファイルを実行する方法をご紹介します(なんらかの理由で.pyファイルのダブルクリックが動かない場合に有効)。pythonの.pyファイルが置かれているとの同じ階層に、拡張子が.batの空のファイルを作成します。この.batファイルは.pyファイルと同様、VSCode、sublimeテキスト、メモ帳で編集可能です。batファイルには下記の2行を記載します。また、batファイルはANSI形式(またはShift_JIS形式)で保存してください。

test.py

cd <目的の.pyファイルまでのパス>
python <.pyファイルの名称>

具体的には、例えば本稿の1章の事例と同様、「C:\Users\project_a\OneDrive\デスクトップ\dev」 内で、「test.py」というpythonファイルを実行すると場合、batファイルは次のようになります。このbatファイルをダブルクリックすると、test.pyファイルが実行されます。最終行のpauseは、黒いコマンドプロトコルの画面をプログラムの実行後に閉じないためのプログラムですが、なくても構いません。画面を閉じずにpauseすることで、通常の出力(print)やエラーの出力を画面上で確認することができます。pauseされた画面は任意のキーを押して閉じます。

test.bat

cd C:\Users\project_a\OneDrive\デスクトップ\dev
python test.py
pause

その他Windowsのcmdではなく、なんらかの事情でAnacondaプロンプト経由でpythonファイル実行したい場合は、cdコマンドとpython test.pyコマンド間に、次節「Conda仮想環境でpythonファイルをダブルクリック実行する方法」で照会する2行目のcallの文を記述します。この1行でcmdからAnacondaプロンプトが起動された状態になります。

test.bat

cd C:\Users\project_a\OneDrive\デスクトップ\dev
call C:\Users\project_a\miniconda3\Scripts\activate.bat
python test.py
pause

Conda仮想環境でpythonファイルをダブルクリック実行する方法

仮想環境でpythonを実行したい場合は.pyファイルのダブルクリックでは実現できないので、batファイルを作成します。本稿ではConda仮想環境下での実行方法をご紹介します。WindowsにおけるConda仮想環境の構築方法については私のこちらのQittaの記事をご参照ください。

batファイルの中身は次の通りです。1行目と4行目は前述の「仮想環境が不要な場合」と同じです。2行目でCondaを、3行目でConda仮想環境を起動しています。2行目のScripts以降の部分「Scripts\activate.bat」はどなたでも共通です。Scriptsより前の部分は、Aanconda又はMinocondaが格納されている場所(パス)なので、人によって異なります。パスの探し方は、前述1.2章「Python環境変数の設定」をご覧ください。3行目で具体的な仮想環境を起動します。call activateの部分は皆さん共通です。venvNameとある部分には具体的なConda仮想環境の名称を記入します。

test.bat

cd C:\Users\project_a\OneDrive\デスクトップ\dev
call C:\Users\project_a\miniconda3\Scripts\activate.bat
call activate venvName
python test.py
pause

今日も最後まで読んで頂きありがとうございました。