【发布时间】:2020-04-23 20:31:17
【问题描述】:
我正在尝试通过 systemd 服务在 raspby 上启动 python 脚本,但它找不到通过 pip3 安装的任何模块并给出错误:
raspberrypi python3[1017]: ModuleNotFoundError: No module named 'paho'
通过 SSH 终端运行相同的脚本可以正常工作。根据我的研究,它可能与 PYTHONPATH 有关,尽管我无法在 .bashrc 中找到它
找不到的模块安装在这里:
./.local/lib/python3.7/site-packages (1.5.0)
这是 /etc/systemd/user/mytest.service 中启动脚本失败的服务文件:
[Unit]
Description=TestScript Service
After=network-online.target
[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/pi/MyProject/my_script.py > /home/pi/my_script.log 2>&1
[Install]
WantedBy=network-online.target
如何让服务知道模块的位置?
亲切的问候
【问题讨论】:
-
您可以运行命令 which python3 来验证 python 路径是否与您放入服务文件的路径匹配。
-
running "python3 /home/pi/MyProject/my_script.py" 成功执行脚本。但是当脚本通过服务启动时,它会失败。
-
如果您使用“python3”而不是在服务中写入“/usr/bin/python3”,它仍然会失败吗?
-
您是否安装了
pip3 install --user的模块?如果是,请使用sudo pip3 install安装。
标签: python python-import systemd