我试图像这样通过crontab运行python脚本
@reboot cd /root/open_nsfw/ && /usr/bin/screen -dm -L /usr/bin/python /root/open_nsfw/fn_tcp2.py但失败的原因却找不到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'](不算)但从壳牌里
['', '/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'](咖啡在那里!)所以,我想我有所有的元素来解决这个问题,但我不知道如何解决!
请指教,谢谢!
编辑解决了在脚本开头添加这些行的问题
import sys
sys.path.insert(0, "/root/caffe/python/")发布于 2017-12-18 19:05:43
在从crontab运行时,您没有设置与shell中相同的环境变量。你只能得到最低限度的。需要显式地将PYTHONPATH设置为在crontab脚本中包括caffe。
https://stackoverflow.com/questions/47873420
复制相似问题