やりたいこと
ターミナルを使わず、クリック1つでPythonを開きたい。
いつもPythonプログラムを起動させる時は、
$ cd /Users/Watakushi/Documents/pypy_dekami
$ python3 nantoka_file.py
のように、Pythonのプログラムがあるディレクトリに移動して、Pythonファイルを実行させる。だけど、これが非常に面倒くさい。
VSCodeみたいなIDEの実行機能を使えば?と思うのかもしれないけれど、プログラムを立ち上げるために別のソフトを立ち上げるのも、これまた面倒。
そうではなくて、GUIアプリのように、クリックしたらPythonプログラムが起動するようにしたい。GUIアプリのように、ね。
コマンドファイルにしたらいい?
どうしたら、私がやりたいことを実現できるのか、ググってみたところ、「コマンドファイルにしたらいいんじゃないか?」と思い、サイトを見ながらコマンドファイルを作成した。
しかし、これだとターミナルが開きっぱなしで閉じてくれない。exit
コマンドをファイル内に埋め込んではみたけれど、閉じない。
調べてみると、windowsのバッチファイルだとコマンドプロンプトを閉じてくれるのだけど、Macのコマンドファイルではそれをしてくれないみたい。
それでは、ダメ。あくまでも1クリック、つまり1動作のみ。それ以上の面倒なことはしない。
Automatorというものを見つけた、これだ!
やはり、チマチマとコマンドを打つしかないのかと諦めていたところ、YouTubeで「Pythonで自動化する方法」という動画を見つけ、そこでAutomatorというツールを知った。
これはMacに標準搭載されており、あらゆる操作を自動化させるソフトのようだ。コマンドファイル作成ソフト、という感じだろうか。
起動させ、新規作成のボタンをクリックし、アプリケーションを選択。
するとこの画面になるので、左から2番目の欄から「シェルスクリプトを実行」をダブルクリック。
ここに自動化させたいコマンドを入力する。
だけど、その前にPythonの実行ファイルがあるところを以下のコマンドで確認しておく。(*****は伏せ字)
$ which python3
私の場合、/Users/*****/opt/anaconda3/bin/python3
がPython3の実行場所ということが分かった。
それでは実行したいコマンドを打ってみよう
今回、起動させたいPythonのプログラムは、ほぼ日刊イトイ新聞のHPから、「今日のダーリン」を取得してくるプログラム。実行させるとテキストファイルを作成する。
シェルスクリプトに実行したいコマンドを入力。このとき、Pythonコマンドは実行ファイルが置いてあるところから書くことに注意。(*****は伏せ字)
cd /Users/*****/Documents/py_app
/Users/*****/opt/anaconda3/bin/python3 get_darling.py
これで、1クリックのみでプログラムを実行させることができるといわけですね。
いいね、これ。これでターミナルを起動させなくていいわけだし、もしどこかでファイルを配布するってなっても、このAutomatiatorファイルにしておけば、少しは楽になるのかも。
また、このAutomatorはシェルコマンド以外にも色々と使い方はあるみたいだ。メールを起動したり、PDFを作成したり、画像をリサイズしたり。
今年でMacデビュー10周年を迎える私だけれど、このAutomatorは初めて知った。やっぱり凄いね、Mac。