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

时间:2018-07-16 20:10:32

标签: python boot

我有一个Python脚本,在启动和出现问题时需要运行 是它抛出一个错误,提示“没有名为xyz的模块”。我正在使用通过pip3安装的外部库。脚本本身就可以正常工作 但是我想在启动后立即运行它时遇到上述错误。

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

我在Raspberry Pi上使用基于Debian的操作系统Raspbian运行脚本。我通过将此sudo python3 script.py添加到/ etc / profile文件中来配置启动时的执行。

2 个答案:

答案 0 :(得分:1)

我不知道没有pip install的{​​{1}}是如何工作的。

我看到的是:从cron或/etc/profile启动时运行的脚本是在root用户而不是sudo用户下运行的。因此,它们与您的用户外壳中的pi$PATH和其他环境变量值不同。

由于$PYTHONPATH可以在没有pip install的情况下运行,因此我怀疑您已将模块安装到用户特定的目录中,该目录不是sudo的Python环境的一部分。 / p>

root行替换为/etc/profile可能会有帮助。

无论是什么,都是Python环境中已经存在的差异。等待10秒钟“不管出现什么”都无济于事。

答案 1 :(得分:-1)

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

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

3-激活该环境

4-conda installpip3 install您的包裹

应该正常工作。