我在appengine上正确导入模块时遇到了问题。我的应用程序通常使用带有app-engine-patch的django,但这部分是仅使用webapp框架的任务队列。
我需要导入django设置以使应用程序正常工作。
我的脚本是这样开头的:
import os
import sys
sys.path.append('common/')
# Force Django to reload its settings.
from django.conf import settings
settings._target = None
# Must set this env var before importing any part of Django
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 我总是会收到这个错误,或者一些相关的错误:
<type 'exceptions.ImportError'>: No module named ragendja.settings_pre因为settings.py文件以
from ragendja.settings_pre import *我想我需要再次向sys.path添加ragendja,但是我尝试了几次都没有成功。
下面是我的目录:
project/
app.yaml
setting.py
common/
appenginepatch/
ragendja/
setting_pre.py
myapp/
script.py 这只是一个sys.path问题吗?我需要如何用正确的语法修改它?
谢谢
发布于 2010-08-30 21:33:06
App engine补丁在内部操作sys.path。后台任务绕过了该代码,因此您的路径将不能用于Django调用。您有两个选择:
发布于 2010-08-30 21:34:21
为什么不呢:
sys.path.append('common/appenginepatch')因为这个目录里有ragendja吗?
https://stackoverflow.com/questions/3599387
复制相似问题