【发布时间】:2021-08-24 16:24:10
【问题描述】:
这就是我通常在 Ubuntu 20.04 上的 virtualenv 中运行 python 脚本的方式。
source hibi/bin/activate
python -m hibiapi
现在我想做一个 cronjob 让它在启动时自动启动 python 脚本,但我不知道正确的语法。谁能纠正我?
@reboot /var/www/api.adoreanime.com/htdocs/hibi/bin/python /var/www/api.adoreanime.com/htdocs/HibiAPI/hibiapi/ -m hibiapi
错误日志:
Traceback (most recent call last):
File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/var/www/api.adoreanime.com/htdocs/HibiAPI/hibiapi/__main__.py", line 8, in <module>
from . import __file__ as root_file
ImportError: attempted relative import with no known parent package
【问题讨论】:
-
为什么包含
/var/www/api.adoreanime.com/htdocs/HibiAPI/hibiapi/,您希望它应该做什么?把它拿出来, -
@tripless 我想我需要包含脚本模块的路径,否则它不知道它的位置?无论如何我试着把它拿出来,但它仍然不会在启动时自动启动脚本
-
您收到错误消息吗?您可能发现了一个单独的错误。虚拟环境负责设置 Python 的模块路径,这就是它的作用。
-
我已经更新了第 1 个帖子以包含错误
-
如果它在
crontab之外(仅)在特定目录中工作,您也可以在cron作业中将cd转到该目录,作为一种解决方法。正确的解决方案是修复import,使其在任何地方都可以工作,但如果没有看到您的代码,我们无法告诉您如何操作。