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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (135)

我有一个Python脚本,我需要在启动时运行,问题是它抛出一个错误,说“没有名为xyz的模块”。我正在使用我使用pip3安装的外部库。该脚本可以自行运行,但是当我想在启动后立即运行它时,我得到了上述错误。

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

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

提问于
用户回答回答于

我不知道如果pip install没有sudo可行的话。

我所看到的:从cron或/ etc / profile启动时运行的脚本在root下运行,而不是在pi用户下运行。因此,他们不具有相同的$PATH$PYTHONPATH您在用户的shell有和其他环境变量的值。

由于pip install设法无需运行sudo,我怀疑您已将模块安装到特定于用户的目录中,该目录不是rootPython环境的一部分。

更换/etc/profile线路sudo -u pi python3 script.py可能会有所帮助。

无论是什么,它都是Python环境中的差异。等待10秒“无论出现什么”都无济于事。

用户回答回答于

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

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

3 - 激活该环境

4 - conda installpip3 install你的包裹

应该工作。

扫码关注云+社区

领取腾讯云代金券