これを投稿する前に、このカスタム スクリプトを機能させるためのさまざまな可能性を試しました (成功しませんでした)。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 関連のコードはすべて拒否されます。
ありがとうございました。