簡體   English   中英

如何在 Python 環境中啟動時使用 shell 腳本啟動 python 腳本?

[英]How to use a shell script to start python script on boot up within an Python environment?

如何在 python(3.9) 環境中啟動時(在 Raspberrypi 4B,Raspi_os 64bit 上)運行 python 腳本?

我試圖將source envname/bin/activate添加到launcher.sh

我的啟動器文件如下所示:

cd /home/pi/thefolder
PYTHONPATH=/home/pi/.local/lib/python3.9/site-package
source envname/bin/activate
pyhton3 /home/pi/thefolder/run.py

顯然 python3 命令沒有在 env 中運行,因為我收到了ModuleNotFoundError的 ModuleNotFoundError 。 它安裝在環境中。

編輯1:

如果我只創建一個新的 shell 腳本

source envname/bin/activate
echo Hi Stackoverflow

使用 sh test.sh 在 chmod 之后運行,我得到了回報

> test.sh 1: source: not found 
> Hi Stackoverflow

雖然我可以在終端中激活環境

編輯2:

顯然 Ubuntu 使用了 bin/dash,而不是 bin/sh。 是關於它的帖子

現在我必須檢查如何更改它

編輯3:使用:

. envname/bin/activate
echo Hi Stackoverflow

代替

source envname/bin/activate
echo Hi Stackoverflow

似乎工作。 正在進行測試

---最終編輯: ---

是的,它有效。 但重要的是,它顯然必須在第一行,否則file envname cannot be found

使用

. envname/bin/activate
echo Hi Stackoverflow

代替

source envname/bin/activate
echo Hi Stackoverflow

作品。 由於 Ubuntu 使用 /bin/bash 而不是 /bin/sh

顯然. envname/bin/activate . envname/bin/activate必須是第一個命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM