从py脚本在虚拟环境中调用命令

我对编码和软件还很陌生,所以请坚持我。我正在尝试通过Python脚本在Raspberry Pi终端中执行命令。我希望能够从桌面运行此pi脚本。要执行的命令是(rpi-deep-pantilt-env) pi@raspberrypi:~/rpi-deep-pantilt $ rpi-deep-pantilt detect,如您所见,我需要将CD放入rpi-deep-pantilt,然后激活我的虚拟环境,然后通过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之后不接受其他命令行参数,这并不重要,但是我仍将它们传递给您,这样您就可以生成错误消息,而不是像忽略它们一样他们不在那里。)

本文链接:https://www.f2er.com/1825725.html

大家都在问