系统启动后延迟执行 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 install
或 pip3 install
你的包裹
它应该 正常工作。
我不知道没有 sudo
的 pip 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"也无济于事
我有一个 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 install
或 pip3 install
你的包裹
它应该 正常工作。
我不知道没有 sudo
的 pip 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"也无济于事