0

これを投稿する前に、このカスタム スクリプトを機能させるためのさまざまな可能性を試しました (成功しませんでした)。X 分ごとに crontab で実行されている /lib ディレクトリにスクリプトがあります。

このスクリプトの最初の数行は次のとおりです。

# /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