【问题标题】:"No module named appengine.base" error after deploying Django app on Google App Engine在 Google App Engine 上部署 Django 应用程序后出现“没有名为 appengine.base 的模块”错误
【发布时间】:2011-05-24 02:42:19
【问题描述】:

我正在尝试将 Django 应用程序部署到 Google App Engine。该应用程序部署成功,但当我尝试在网络浏览器中访问它时抛出以下错误:

<class 'django.core.exceptions.ImproperlyConfigured'>: 'appengine' isn't an available database backend. Available options are: 'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3'
Error was: No module named appengine.base
Traceback (most recent call last):
  File "/base/data/home/apps/[app_id]/test.350631415612260549/main.py", line 29, in <module>
    InstallAppengineHelperForDjango()
  File "/base/data/home/apps/[app_id]/test.350631415612260549/appengine_django/__init__.py", line 545, in InstallAppengineHelperForDjango
    InstallDjangoModuleReplacements()
  File "/base/data/home/apps/[app_id]/test.350631415612260549/appengine_django/__init__.py", line 262, in InstallDjangoModuleReplacements
    import django.db
  File "/base/data/home/apps/[app_id]/test.350631415612260549/django/db/__init__.py", line 41, in <module>
    backend = load_backend(settings.DATABASE_ENGINE)
  File "/base/data/home/apps/[app_id]/test.350631415612260549/django/db/__init__.py", line 37, in load_backend
    raise ImproperlyConfigured(error_msg)

补充信息:我不是该应用的原始开发者,对 Google App Engine 也不是很熟悉。

我的工作流程如下:从 Git 存储库中提取代码,在 GoogleAppEngineLauncher GUI(适用于 Mac OS X)中将其配置为新应用,然后进行部署。我是否遗漏了任何步骤,例如在部署之前在本地配置后端设置?

【问题讨论】:

  • 这肯定是你项目的配置(设置)有问题。您能否详细介绍一下 django 在这个应用引擎项目中是如何使用的?是使用 django-appengine(也称为 django-nonrel)还是原生应用引擎支持?
  • 我相当肯定该项目正在使用本机应用程序引擎支持,但我对 GAE 的无知并没有帮助 - 是否有任何迹象表明本机应用程序引擎或 django-appengine利用?搜索源代码发现“django-appengine”或“django-nonrel”都没有匹配项,但我确实在项目根目录中看到了一个名为“appengine_django”的目录。
  • 嗯,好吧,这没有多大帮助。让我这样问:您是使用appcfg.py 还是通过manage.py remote 进行部署,还是使用启动器进行部署(从未使用过,所以我不知道这是可能的)。在任何情况下,如果从项目文件夹中打开settings.py 文件并将DATABASE_ENGINEDATABASES['ENGINE'] 设置为空字符串'' 将是一个好主意。

标签: python django google-app-engine


【解决方案1】:

因为您的项目根目录中有 appengine_django,所以您使用的是 App Engine Helper。您可能有一些导入路径问题,因此您可以尝试升级到最新版本的帮助程序。但是,这是一个已弃用的项目,如果可能,您最好移植到 django-nonrel。迁移的一部分是将 settings.py 中的数据库引擎从“appengine”(导致您的错误)更改为“dbindexer”

【讨论】:

    猜你喜欢
    • 2019-01-13
    • 1970-01-01
    • 2020-01-18
    • 2019-01-30
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    相关资源
    最近更新 更多