我对编码和软件还很陌生,所以请坚持我。我正在尝试通过Python脚本在Raspberry Pi终端中执行命令。我希望能够从桌面运行此pi脚本。要执行的命令是(rpi-deep-pantilt-env) pi@raspberrypi:~/rpi-deep-pantilt $ rpi-deep-pantilt detect
,如您所见,我需要将CD放入rpi-deep-pantilt,然后激活我的虚拟环境,然后通过py脚本全部运行该命令。
从py脚本在虚拟环境中调用命令
•
问答
iCMS 回答:从py脚本在虚拟环境中调用命令
一个简单的shell脚本即可完成您所要求的操作:
#!/bin/sh
cd "$HOME"/rpi-deep-pantilt
. ./rpi-deep-pantilt-env/bin/activate
./rpi-deep-pantilt detect "$@"
大多数或所有这些可能都是不必要的。我想你可以跑步
#!/bin/sh
d="$HOME"/rpi-deep-pantilt
exec "$d"/rpi-deep-pantilt-env/bin/python "$d"/rpi-deep-pantilt detect "$@"
尽管您的Python脚本具有硬编码的文件路径,要求它在特定目录中运行,但这是一个错误,将阻止其工作。
"$@"
表示要传递任何命令行参数,因此,如果将此脚本另存为pant
,则运行pant blind mice
将传递参数blind
和{ {1}}到您的Python脚本。 (当然,如果它在mice
之后不接受其他命令行参数,这并不重要,但是我仍将它们传递给您,这样您就可以生成错误消息,而不是像忽略它们一样他们不在那里。)