Cron 失败并显示消息 Superset: command not found

Cron fails with the message Superset: command not found

我已经按照 apache superset 网页中的安装指南安装了 Superset,适用于 Python 3.7。

尽管我可以手动启动服务器,但当我尝试编写启动步骤脚本并对其进行 cron 时,它失败了。

执行的输出如下:

superset: command not found

我已阅读此 的回复,但没有任何内容适用于此案例。 我没有使用 virtualenv 进行安装。

这些是 which 命令的输出:

ec2-user@Superset-STAGE /var/spool/mail$which python3
/usr/bin/python3 

ec2-user@Superset-STAGE /var/spool/mail$which superset
~/.local/bin/superset

ec2-user@Superset-STAGE /var/spool/mail$sudo superset
sudo: superset: command not found

你能指导我如何让我的脚本正常工作吗?脚本如下所示。

superset init
wait
superset runserver -d

谢谢。

Cron 以 root 身份运行,这意味着它的主目录是 /root 而不是您期望的 /home/ec2-user。这意味着它将无法找到 /home/ec2-user/.local/bin/superset,因为它既不会在 ~/.local/bin/superset 中查找可执行文件,也不会以具有此类目录的用户身份登录。这里的快速修复是使用完整路径,但我建议将可执行文件移动到更合适的目录,例如 /usr/local/bin,然后将其添加到 /etc/profile

中的 PATH 变量