MENU

Pythonプログラムをシェルから起動する

目次

作成したプログラムをデスクトップ上から簡単に実行したい

VSCodeを利用してプログラムを作成していますが、よく使うプログラムをいちいちVSCodeで開き、実行するのは面倒です。そこで、デスクトップ上に実行するためのシェル(のシンボリックリンク)を置いて起動できるようにします。

前提条件

  • PythonはPoetryによりローカルフォルダごとに実行環境を設定している。
    (virtualenvs.in-project = true の状態)
  • プログラムを直接実行するシェルプログラムはPythonのプログラムと同じフォルダに置き、デスクトップにはそのシンボリックリンクを作成する。
  • Pythonプログラムの保存フォルダ及びプログラム名
    ~/Programming/pythonProject/ReadQRCode/main.py
  • Pythonプログラムを起動するシェルプログラムの保存フォルダ及びプログラム名
    ~/Programming/pythonProject/ReadQRCode/Read_QRCode.sh
  • Macを利用しているのでzsh利用(bashでも使えるはず)

作成

STEP
Pythonプログラムを実行するシェルプログラムを作成、保存
(以下の内容をRead_QRCode.shで保存する)
#!/bin/zsh

# 実行ファイルの保存場所に移動
# poetryをvirtualenvs.in-project = trueで設定しているため、Pythonプログラムの保存場所と同じ階層かその
#  親ディレクトリに実行環境がある。そのため、実行ファイルの保存場所にカレントディレクトリを移してから
#  Pythonプログラムを実行する必要がある。
#  カレントディレクトリを移動しないと正常にPythonプログラムを実行できない。
cd $(dirname $(readlink $(basename $0)))
# poetryを利用してpythonを実行する
poetry run python main.py
STEP
シンボリックリンクの作成と実行権の付与
ln -s ~/Desktop/Execute_ReadQRCode_py ~/Programming/pythonProject/ReadQRCode/Read_QRCode.sh
chmchmod 755 ~/Desktop/Execute_ReadQRCode_py

以上の作業で、デスクトップ上に作成されたシンボリックリンクをターミナルからたたけば※プログラムの実行ができます。
※ 例えばターミナルでカレントディレクトリがデスクトップにある場合、./Execute_ReadQRCode_py と入力し、実行すること。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次