我的 Linux 服务运行一个脚本,该脚本产生了未找到模块的错误。
但是,当我从激活了 python 环境的终端运行脚本时,该脚本运行正常。
我在激活完全相同的环境的情况下在终端中运行该脚本/home/nick/environments/social_agg/bin/python
,并且该脚本在我的 .service 文件中被引用。
我认为我的问题是环境(1-终端和 2-服务文件)在某种程度上有所不同。我创建了许多类似的服务文件 - 将 python 包添加到ExecStart= /home/nick/environments/social_agg/bin/python
.service 文件中引用的 venv 从未出现过问题,因此我假设使用的是相同的环境。
这是 github 仓库goodreads-用户抓取工具无法识别的软件包。由于该软件包是从终端运行的,因此它是否与其他 Python 软件包有所不同?
关于如何处理这个问题的任何想法都很好。目前我还不确定下一步该怎么做。
错误
Jan 13 17:30:25 speedypersonal2 python[17585]: /bin/sh: 1: goodreads-user-scraper: not found
socialAggregator.service
[Unit]
Description=Run Social Aggregator --- DEVELOPMENT ---
After=network.target
[Service]
User=nick
ExecStart= /home/nick/environments/social_agg/bin/python /home/nick/applications/socialAggregator/scheduler.py --serve-in-foreground
[Install]
WantedBy=multi-user.target
- 更新 2023-01-15 工作服务 *
[Unit]
Description=Run Social Aggregator scheduler - collect data from API's and store in socialAggregator Db --- DEVELOPMENT ---
After=network.target
[Service]
User=nick
ExecStart= /home/nick/environments/social_agg/bin/python /home/nick/applications/socialAggregator/scheduler.py --serve-in-foreground
Environment=PATH=/home/nick/environments/social_agg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
[Install]
WantedBy=multi-user.target