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