やること
WindowsユーザーなのでPythonの開発環境にはWinPythonを使っています。WinPythonはインストールの必要がないので、USBメモリに入れて持ち運ぶこともできるんですよ。
さて、Pythonの実行にはいちいちSpyder.exeを起動しないといけないのかというと、そうではありません。今回はバッチファイルでPythonプログラムを実行してみます。ついでにバッチファイルでパッケージを pip install する方法も紹介します。パスの知識を前提としています。
実行環境
WinPython3.6をおすすめしています。
プログラムの作成
引数を受け取って表示し、5秒待ってから終了するプログラムを書きました。ファイル名は「test1.py」とします。
import sys
import time
#引数の受け取り
args = sys.argv
arg = args[1]
print('引数を受け取りました')
print(arg)
#5秒待って終了
print('5秒待って終了します')
time.sleep(5)
バッチファイルの作成
メモ帳で以下の内容を「mybatch.bat」として保存します。「test1.py」に引数として “Hello” を渡して実行する内容になっています。
パスは空気を読んで設定してください。WIndowsですから半角の¥マークを使います。
C:\Users\(ユーザー名)\Desktop\WPy-3670_1\python-3.6.7.amd64\Python.exe test1.py Hello
なお、バッチファイルを編集するには右クリック>編集です。ダブルクリックすると実行してしまいます。
バッチファイルの実行
上ではプログラムファイルを相対パス(./test1.py)で指定したので、このように同じ階層に並んだ状態にします。バッチファイルをダブルクリックすると実行されます。
結果を表示するコマンドプロンプトのウィンドウが立ち上がり、5秒後に自動的に閉じました。引数の “Hello” が print されていることが確認できます。
なお、ウィンドウが立ち上がってすぐに消える場合はエラーが起きています。バッチファイル中のパスに日本語が含まれている、あるいはプログラム中のエラーが考えられます。
(おまけ)バッチファイルでパッケージのpip install
バッチファイルを次のようにします。こちらもパスは空気を読んでください。
call C:\Users\(ユーザー名)\Desktop\WPy-3670_1\scripts\env.bat
pip install vcopt
ダブルクリックで実行すると pip install vcopt が実行されます。
まとめ
プログラムにあまり馴染みがない人にプログラムを実行してもらう場合に有用な方法です。