Jetson Nano下crontab运行Python代码提示No module named 'torch'求助
解决crontab执行Python脚本找不到torch的问题
问题根源:crontab执行时的环境变量(包括Python路径)和手动登录shell时的环境不一致,导致找不到已安装的torch模块。以下是具体解决方法:
方法1:使用手动执行时的Python解释器路径
- 手动登录shell,执行命令获取当前使用的Python路径:
which python3- 将crontab命令中的
/usr/bin/python3替换为上述命令输出的路径,修改后的crontab命令示例:
@reboot sleep 30 && /path/to/your/python3 /home/pip/Downloads/yolov7/detect_people_main.py >> /home/pip/Downloads/yolov7/logfile.log 2>&1 &方法2:在crontab中加载用户环境变量
crontab默认不会加载用户的.bashrc或.profile配置,可在执行脚本前先加载环境配置:@reboot sleep 30 && source /home/pip/.bashrc && /usr/bin/python3 /home/pip/Downloads/yolov7/detect_people_main.py >> /home/pip/Downloads/yolov7/logfile.log 2>&1 &若使用zsh,则替换为
source /home/pip/.zshrc。方法3:指定PYTHONPATH环境变量
若torch安装在非标准路径,先执行echo $PYTHONPATH获取路径,再将其加入crontab命令:@reboot sleep 30 && PYTHONPATH="/your/python/path" /usr/bin/python3 /home/pip/Downloads/yolov7/detect_people_main.py >> /home/pip/Downloads/yolov7/logfile.log 2>&1 &方法4:使用虚拟环境执行
若torch安装在虚拟环境中,先激活虚拟环境再执行脚本(假设虚拟环境路径为/home/pip/venv):@reboot sleep 30 && source /home/pip/venv/bin/activate && python3 /home/pip/Downloads/yolov7/detect_people_main.py >> /home/pip/Downloads/yolov7/logfile.log 2>&1 &
内容的提问来源于stack exchange,提问作者BeamString
相关产品推荐
相关产品推荐

