我正在尝试在Google App Engine上托管Django应用程序,因此我使用的是django nonrel并按照以下说明进行操作。现在,试图让Python社会授课正在努力,我遇到了两个问题。
首先,当使用与Python Social的示例Django配置非常相似时,试图从运行服务器加载URL时,我得到了:
Traceback (most recent call last):
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver.py", line 2989, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver.py", line 2832, in _Dispatch
request_file = open(request_file_name, 'wb')
File "/home/pablo/scripts/google_appengine/google/appengine/dev_appserver_import_hook.py", line 605, in __init__
raise IOError('invalid mode: %s' % mode)
IOError: invalid mode: wb
某个地方,该应用程序正在尝试创建本地文件,而应用程序不允许使用,但是我很困惑,因为这是从App Engine的代码中来的。有人知道这可能来自哪里吗?
其次,当我尝试访问服务器上的根时,我会收到以下错误:
... [many lines elided]
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 692, in Decorate
return func(self, *args, **kwargs)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1642, in FindAndLoadModule
description)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 692, in Decorate
return func(self, *args, **kwargs)
File "/home/pablo/scripts/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1589, in LoadModuleRestricted
description)
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package
某个地方,Django试图将python-tk
用于Tkinter
,但是据我了解,Python-TK是GUI库。它如何到达这里,如何摆脱需要它的任何代码?
供参考,这是我在访问运行服务器(并获取这些错误)时在urls.py
中使用的域的功能:
def home(request):
"""Home view, displays login mechanism"""
if request.user.is_authenticated():
return redirect('done')
return render_to_response('home.html', {
'plus_id': getattr(settings, 'SOCIAL_AUTH_GOOGLE_PLUS_KEY', None)
}, RequestContext(request))
任何帮助都将不胜感激 - 我是Django和Python的新手,我很想从此前进:D
python在Google App Engine上的表现有所不同,因为您已经意识到了本地文件。需要特殊待遇的另一件事是为了使其可用的第三方库,应正确处理。
在许多情况下,即使您要将这些库包括在GAE应用中,它们也可能使用生产中不支持的东西,因此整个过程都无法正常工作。