use*_*513 2 cron pythonpath django-manage.py dotcloud
我正在尝试运行一个cron来运行自定义Django管理命令.我在DotCloud上运行.
当cron运行时,我收到以下错误:
Traceback (most recent call last):
File "./manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named django.core.management
Run Code Online (Sandbox Code Playgroud)
我认为这是因为cron在裸环境中运行,所以我尝试在同一个cron中手动设置PYTHONPATH.这是命令......
PYTHONPATH=/home/dotcloud/env/lib/python2.6/site-packages/setuptools-0.6c11-
py2.6.egg:/home/dotcloud/env/lib/python2.6/site-packages/pip-1.0.1-
Run Code Online (Sandbox Code Playgroud)
py2.6.egg:/家庭/ dotcloud /电流:/home/dotcloud/env/lib/python2.6:/home/dotcloud/env/lib/python2.6/plat-linux2:/家庭/ dotcloud/ENV/LIB/python2.6的/ LIB-TK:/home/dotcloud/env/lib/python2.6/lib-old:/home/dotcloud/env/lib/python2.6/lib-dynload:/ usr/lib中/ python2 0.6:/usr/lib64/python2.6:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib64/python2.6/lib-tk :/home/dotcloud/env/lib/python2.6/site-packages:/usr/local/lib/python2.6/dist-packages/virtualenv-1.6.1-py2.6.egg:在/ usr /本地/ LIB/python2.6的/站点包:/usr/local/lib/python2.6/dist-packages:/usr/lib/python2.6/dist-packages:/usr/lib/pymodules/python2.6
错误仍在发生,我不确定发生了什么.任何建议都非常感谢.
谢谢.
你是对的:cron工作在"裸露"的环境中运行.
而不是这样做:
* * * * * /home/dotcloud/current/myapp/manage.py args...
Run Code Online (Sandbox Code Playgroud)
你应该做这个:
* * * * * /home/dotcloud/env/bin/python /home/dotcloud/current/myapp/manage.py args...
Run Code Online (Sandbox Code Playgroud)
运行python包含的解释器~/env/bin将自动设置正确的环境.