gpt4 book ai didi

python - 如何调试 python import not found 错误?

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:11 28 4
gpt4 key购买 nike

我正在尝试配置 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 文件,但还不够了解,甚至无法提出正确的问题。

任何人都可以解释什么可能不起作用,如何调试这个问题,或者给我指出解释的方向吗?

非常感谢。

最佳答案

注意上面你调用你的 python 程序作为

/home/pi/upload_photos_pir.py

我敢打赌你在这个文件的顶部没有一行看起来像

#!/usr/bin/env python

这意味着您的程序将被 sh/bash 调用。这些错误消息是 bash 在尝试(但失败)解析您的 Python 文件时打印的错误消息。

您可以通过两种方式解决此问题:

  • 更改脚本以使用 python/home/pi/upload_photos_pir.py 调用
  • #!/usr/bin/env python 添加到文件顶部

关于python - 如何调试 python import not found 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42959914/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com