デスクトップ上のバッチファイルでpythonスクリプトを起動

■Windowsの場合
 

出典1:
簡単にPythonファイルを実行(batファイル作成)


例:sample.bat(ANSIで保存)
ーーーーーーーーーーーーーーーーーーーーーーーー
cd C:\Users\ユーザ名\*****\***\note用
py sample.py
pause
ーーーーーーーーーーーーーーーーーーーーーーーー

■macOSの場合

出典2:
Macでバッチからpythonファイル起動

 

例:start.command(commandファイルとして保存)

デフォルトでちゃんとPATHができている場合
バッチ例:
cd desktop
python main.py
↑ X これでは動かない場合が多い。

■python3の存在場所
ターミナルで下記実行
 which python3
例:
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3

■macOSのPath確認、追加方法
出典:macOSでパスを通す方法


1:path確認 ECHO $PATH
2:設定ファイルの場所確認 echo $SHELL
  例:/bin/zsh
3:設定ファイルを開く 
 ・zshの場合  $ open ~/.zshrc  
 ・bashの場合  $ open ~/.bash_profile
4:path追加(最終行に追記して保存)
  例:export PATH=/Library/Frameworks/Python.framework/Versions/3.11/bin/python3:$PATH
4:変更反映
  source ~/.zshrc
5:path再確認(追加した分は最初に記載されている)
  ECHO $PATH

PATHを通したとしても・・・python本体所在、スクリプト所在ともに絶対PATHで記述したほうが確実に動作する。
バッチ例:
cd desktop
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3 /Users/kabayon/Desktop/process_main_sellect_song.py

 

ところが・・・

ターミナルからpythonスクリプトを起動できて正しく動作しますが、

バッチファイルからですとターミナルで動作させる権限がない、となります。

バッチファイルに権限・・・?

 

↓出典:バッチファイルに権限を設定

例:

chmod u+x /Users/kabayon/Desktop/sellect_song.command

これで行けました!!!

chmodのパラメータは↓に詳しい説明があります。

 

ターミナルが開いたままになるので・・・自動的に閉じるには、

出典:

↑ターミナル自体の設定で「正常終了したら閉じる」を選択します。

 

以上、粗いままですがとりあえず完了!