来自django.db的导入模型在django独立的crontab脚本中被破坏

时间:2013-07-22 12:17:08

标签: python django django-models cron

在发布之前,我已经尝试了各种各样的可能性来使这个自定义脚本工作(没有成功)。我在/ lib目录中有一个脚本,它每隔X分钟在crontab中运行一次。

此脚本的前几行是:

# /project/lib/script.py

import os
import sys
def setup_environment():
    pathname = os.path.dirname(os.path.abspath(__file__))
    sys.path.insert(0, pathname)
    sys.path.insert(0, os.path.abspath(os.path.join(pathname, '..')))
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Project.settings")

setup_environment() 
from Model.models import Model # This works perfectly fine

该异常的回溯不会发生在该文件中,而是发生在Model.py。

#/project/Model/models.py

import os
print os.environ["DJANGO_SETTINGS_MODULE"] # Prints out Project.settings as expec
from django.db import models # ERROR OCCURS ON THIS LINE

任何帮助将不胜感激。

以下是跟踪错误:

Traceback (most recent call last): 
   File "/home/username/webapps/folder/Project/scripts/standalone.py", line 29, in 
   <module> from Model.models import Model File "/home/username/webapps/folder/
   Project/App/models.py", line 15, in <module> from django.db import models
   ImportError: No module named django.db

此代码在从命令行运行时有效,但在crontab中失败。

可能值得注意的事情。上面的^过程曾经100%工作,但是在我添加了几个脚本后,事情就开始破裂了。我删除了我添加的所有内容..但是现在它不会加载任何与django相关的内容!这不只是db.models,我尝试在models.py中输入的任何django相关代码都被拒绝了。

谢谢。

0 个答案:

没有答案