私のラズベリーパイでクラッシュが発生するたびにPythonスクリプトを自動的に起動しようとしています。ここで提供されているシェルスクリプトソリューションに従いました。https://raspberrypi.stackexchange.com/questions/14735/how-do-i-restart-a-python-program-on-my-pi-when-it-crashes
ルートディレクトリにsudo nano constantrun.sh
。
現在のシェルスクリプトの内容は次のとおりです(コメントと回答で提供されている変更を考慮した後)。
#!/bin/sh
COMMAND='python home/pi/projects/mypythonscript.py'
LOGFILE=restart.txt
writelog() {
now=`date`
echo "$now $*" >> $LOGFILE
}
writelog "Starting"
while true ; do
$COMMAND
writelog "Exited with status $?"
writelog "Restarting"
done
sudo chmod +x constantrun.sh
その後、実行可能にするために実行しました。
その後、sudo sh constantrun.sh
スクリプトを正常に実行しました。
これでスクリプトを初期化できます。しかし、私のPythonスクリプトはmysqlconnectorモジュールを使用しているので、今表示されるエラーは次のとおりです。Traceback (most recent call last): File "mypythonscript.py", line 8, in <module> import mysql.connector as mariadb ImportError: No module named mysql.connector
ファイルエクスプローラを使用すると、mysql.connectorがインストールされているようです。home/pi/.local/lib/python2.7/site-packages/mysql_connector-2.1.6.dist-info
このエラーをどのように解決できますか?
ベストアンサー1
x
を実行する権限がありません。以下を使用する必要がmypythonscript.py
あります。chmod
chmod +x /home/pi/projects/mypythonscript.py
またシェルボーンPythonスクリプトの場合は、次のようになります。
#!/usr/bin/python3