You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用crontab实现virtualenv环境下Python脚本开机自启动

错误原因

你遇到的attempted relative import with no known parent package报错有两个核心诱因:

  1. 工作目录不匹配:你手动运行脚本时是在HibiAPI项目根目录下执行命令,Python可以正确识别hibiapi包的层级结构;但crontab默认的执行工作目录是/root,无法识别包的相对导入逻辑。
  2. 命令格式错误:-m参数的作用是让Python将后续参数作为模块运行,你原有crontab命令里在-m前添加了hibiapi文件夹路径,Python会将该路径识别为要执行的独立脚本文件,无法正常触发模块运行逻辑。
修正后的crontab配置

直接将原有crontab规则替换为以下内容即可:

@reboot cd /var/www/api.adoreanime.com/htdocs/HibiAPI && /var/www/api.adoreanime.com/htdocs/hibi/bin/python -m hibiapi

规则说明

  • 先通过cd命令切换到项目根目录,和你手动运行时的工作环境保持一致,解决相对导入报错问题
  • 直接调用virtualenv环境内的Python解释器,不需要额外执行source activate激活虚拟环境,运行效果完全一致
  • 调整了参数顺序,将-m hibiapi放在Python解释器的参数位置,符合模块运行的命令格式要求

如果需要排查后续运行问题,可以添加日志重定向,方便定位错误:

@reboot cd /var/www/api.adoreanime.com/htdocs/HibiAPI && /var/www/api.adoreanime.com/htdocs/hibi/bin/python -m hibiapi >> /var/log/hibiapi.log 2>&1

内容的提问来源于stack exchange,提问作者TravelWhere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:09:01