12/9(月) 応用科学学会シンポジウムで自動運転に関する講演を担当します☆彡(試乗会もあります!来て!)

16-20. WindowsのバッチファイルでSpyderを立ち上げずにPython実行

やること

WindowsユーザーなのでPythonの開発環境にはWinPythonを使っています。WinPythonはインストールの必要がないので、USBメモリに入れて持ち運ぶこともできるんですよ。

さて、Pythonの実行にはいちいちSpyder.exeを起動しないといけないのかというと、そうではありません。今回はバッチファイルでPythonプログラムを実行してみます。ついでにバッチファイルでパッケージを pip install する方法も紹介します。パスの知識を前提としています。

実行環境

WinPython3.6をおすすめしています。

WinPython - Browse /WinPython_3.6/3.6.7.0 at SourceForge.net
Portable Scientific Python 2/3 32/64bit Distribution for Windows

プログラムの作成

引数を受け取って表示し、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 が実行されます。

まとめ

プログラムにあまり馴染みがない人にプログラムを実行してもらう場合に有用な方法です。

SNS等でお気軽にご連絡ください

※当ブログに関することは何でもご相談・ご依頼可能です(Servicesになくても)
※TwitterはFF外の場合はDMではなく返信orメンションでお願いしますm(_ _)m

情報発信しています

質問・コメントはSlackやDiscordでお気軽に

勉強会の告知はこちらで

[H] 小ネタ / 検証
この記事を書いた人

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

この記事をシェアする
Vignette & Clarity(ビネット&クラリティ)
タイトルとURLをコピーしました