系统路径修改或更复杂的问题?

2024-04-20 04:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

在appengine上正确导入模块时遇到问题。我的应用通常使用django和appengine补丁,但这部分是任务队列,只使用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' 

我总是得到这样的错误,或与之相关的:

^{pr2}$

因为设置.py文件以开头

from ragendja.settings_pre import *

我想我需要把拉根贾加到系统路径我又试了几次都没成功。在

这是我的目录:

project/
    app.yaml
    setting.py
    common/
        appenginepatch/
            ragendja/
                setting_pre.py
    myapp/
        script.py 

只是一个系统路径问题以及如何用正确的语法修改它?在

谢谢


Tags: djangofrompyimport路径settingsos系统
2条回答

为什么不:

sys.path.append('common/appenginepatch')

因为ragendja在这个目录中?在

应用引擎补丁操作系统路径内部。后台任务会绕过该代码,因此您的路径将无法用于Django调用。您有两种选择:

  • 手动修复路径。app engine documentation(请参阅名为“处理导入路径操作”的子部分)建议将路径操作代码分解为一个可以由任务脚本导入的模块。

  • 如果可能的话,消除对django代码的依赖。如果您可以将任务编写为纯python和/或googleapi调用,那么就可以开始了。在您的情况下,这可能意味着重构设置代码。

相关问题 更多 >