cron - Django 管理命令 Cron on Dotcloud

标签 cron pythonpath dotcloud django-manage.py

我正在尝试运行 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

我认为这是因为 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-        

py2.6.egg:/home/dotcloud/current:/home/dotcloud/env/lib/python2.6:/home/dotcloud/env/lib/python2.6/plat-linux2:/home/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.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/local/lib/python2.6/site-packages:/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...

你应该这样做:

* * * * * /home/dotcloud/env/bin/python /home/dotcloud/current/myapp/manage.py args...

运行包含在 ~/env/bin 中的 python 解释器将自动设置正确的环境。

关于cron - Django 管理命令 Cron on Dotcloud,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10442195/

相关文章:

linux - 生成 dbus-launch 时出错 - 那是什么?

dotcloud - docker中容器的防火墙

django - Gunicorn、nginx(v 1.3.14)、django 和 gevent-socket.io,位于 dotcloud

python - 在 emacs 中设置正确版本的 Python 和 PYTHONPATH 变量

python - 为什么 MongoDB 在 Celery 连接上无法识别我的用户?

go - Cron Job 不会使用 TimeZone 触发

java - 如何实现更新服务在后台运行?

php - 在 wordpress 中为 cron 作业创建了一个插件,但是如何在没有任何人访问该站点的情况下将其与 linux 连接

python - Windows 10 Bash 和 python 路径

python - 如何在 mac 上为 2.7 设置 python 路径?