迁移到python2.7后的数据存储区错误 - 在localhost上正常工作

时间:2013-07-17 21:39:00

标签: django google-app-engine python-2.7 google-cloud-datastore

我知道google.appengine.dist已从python2.7中删除。我该怎么用?

应用程序在localhost上运行正常,部署似乎很成功,但我在线收到此消息:

错误:服务器错误

服务器遇到错误,无法完成您的请求。 如果问题仍然存在,请报告您的问题并提及此错误消息以及导致该问题的查询。

以下是我的日志所说的内容:

Traceback (most recent call last):
  File 
"/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 196, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 255, in _LoadHandler
handler = __import__(path[0])
  File "/base/data/home/apps/s~quick-test/1.368856085074570769/django_bootstrap.py", line 54, in <module>
from google.appengine.dist import use_library
ImportError: No module named dist

这是来自django_bootstrap.py的第54行:

from google.appengine.dist import use_library
use_library('django', '1.2')

GAE LAuncher版本1.8.2,也有1.8的问题。

1 个答案:

答案 0 :(得分:2)

Python 2.7配置需要在app.yaml中指定的第三方库,因此在app.yaml文件中添加它可能就足够了:

libraries:
- name: django
  version: "1.2"

您还可以使用包含Django模板引擎的webapp2。 SDK附带的1.2版本是App Engine的一部分,您无需自己捆绑Django即可使用它。

import os
from google.appengine.ext.webapp import template

此外,使用此代码,您无需调用use_library()来显式选择Django版本:

webapp_django_version = "1.2"