【发布时间】:2017-03-23 02:32:21
【问题描述】:
我正在尝试配置 Raspberry Pi 3 以在启动时运行 python 脚本。按照教程,我在 etc/init.d 中创建了这个脚本:
#! /bin/sh
# etc/init.d/upload_photos_pir
### BEGIN INIT INFO
# Provides: upload_photos_pir
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs &syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start PIR photo uploads
# Description: Start PIR photo uploads
### END INIT INFO
case "$1" in
start)
echo "starting pir photos upload"
# run appl
/home/pi/upload_photos_pir.py
;;
stop)
echo "stopping pir photos upload"
# kill app
killall upload_photos_pir.py
;;
*)
echo "Usage: etc/init.d/upload_photos_pir {start|stop}"
exit 1
;;
esac
exit 0
运行脚本会产生以下结果:
starting pir photos upload
/home/pi/upload_photos_pir.py: 3: /home/pi/upload_photos_pir.py: import: not found
/home/pi/upload_photos_pir.py: 4: /home/pi/upload_photos_pir.py: import: not found
/home/pi/upload_photos_pir.py: 5: /home/pi/upload_photos_pir.py: import: not found
/home/pi/upload_photos_pir.py: 6: /home/pi/upload_photos_pir.py: import: not found
/home/pi/upload_photos_pir.py: 7: /home/pi/upload_photos_pir.py: import: not found
from: can't read /var/mail/time
from: can't read /var/mail/datetime
from: can't read /var/mail/picamera
from: can't read /var/mail/subprocess
/home/pi/upload_photos_pir.py: 13: /home/pi/upload_photos_pir.py: global: not found
/home/pi/upload_photos_pir.py: 16: /home/pi/upload_photos_pir.py: photosHourlyLimit: not found
/home/pi/upload_photos_pir.py: 17: /home/pi/upload_photos_pir.py: photosTaken: not found
/home/pi/upload_photos_pir.py: 18: /home/pi/upload_photos_pir.py: Syntax error: "(" unexpected
我试图启动upload_photos_pir.py 的脚本在python shell 中运行良好。
我不明白为什么导入没有按应有的方式发生。我是 Raspberry Pi 和 python 的新手,所以在路径、文件位置等方面我不确定很多,所以我猜这个问题与在 #! /bin/sh 文件中使用错误的路径有关,但是连问对问题的知识都不够。
谁能解释什么可能不起作用,如何调试此问题,或指出解释的方向?
非常感谢。
【问题讨论】:
-
你
chmod +x upload_photos_pir.py了吗?顶部是否有#!/bin/env python(或类似名称)?
标签: python linux raspberry-pi