Caffe和crontab

问题描述 投票:1回答:1

我试图像这样通过crontab运行python脚本

@reboot cd /root/open_nsfw/ && /usr/bin/screen -dm -L /usr/bin/python /root/open_nsfw/fn_tcp2.py

但失败的原因找不到caffe ImportError: No module named caffe

caffe.__file__给了我这个输出

/root/caffe/python/caffe/__init__.pyc

由crontab运行的sys.path的输出是

['/root/open_nsfw', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']

(没有caffe)但是来自shell

['', '/root/caffe/python', '/root/open_nsfw', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']

(caffe就在那里!)所以,我认为我有解决这个问题的所有因素,但我无法弄清楚如何!

请指教,谢谢!


编辑解决了在脚本开头添加这些行的问题

import sys
sys.path.insert(0, "/root/caffe/python/")
python-2.7 cron ubuntu-16.04 caffe
1个回答
0
投票

crontab运行时,您没有在shell中设置环境变量。你只能得到最低限度。您需要在crontab脚本中明确设置PYTHONPATH以包含caffe

© www.soinside.com 2019 - 2024. All rights reserved.