0

在发布此之前,我已经尝试了多种可能性来让这个自定义脚本正常工作(但没有成功)。我在 /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 相关代码都被拒绝。

谢谢你。

4

0 回答 0