系统启动后延迟执行 Python 脚本

Delay execution of Python script after system start up

我有一个 Python 脚本,我需要 运行 在启动时遇到问题 是它抛出一个错误 "no module named xyz"。我正在使用我使用 pip3 安装的外部库。该脚本本身就可以正常工作 但是当我想在启动后立即 运行 时出现上述错误。

我该怎么办?我尝试使用 time.sleep(10) 延迟导入库,以防第三方库在启动后需要几秒钟才能加载,但这没有达到预期的效果。

我 运行 Raspberry Pi 上基于 Debian os 的脚本名为 Raspbian。我通过将此 sudo python3 script.py 添加到 /etc/profile 文件来配置启动时的执行。

1 - 下载蟒蛇:https://www.anaconda.com/download/

2 - 在 conda 中创建环境:https://conda.io/docs/user-guide/tasks/manage-environments.html

3 - 激活该环境

4 - conda installpip3 install 你的包裹

应该 正常工作。

我不知道没有 sudopip install 会如何工作。

我看到的:从 cron 或 /etc/profile 启动时的脚本 运行 在 root 下 运行,而不是在 pi 用户下。因此,它们没有与用户的 shell.

中相同的 $PATH$PYTHONPATH 和其他环境变量值

由于 pip install 在没有 sudo 的情况下设法 运行,我怀疑您将模块安装到用户特定的目录中,该目录不是 root 的一部分的 Python 环境。

/etc/profile 行替换为 sudo -u pi python3 script.py 可能会有所帮助。

不管是什么,这都是 Python 环境中已经存在的差异。等个10秒"for whatever to come up"也无济于事