Python-Social,Django-nonrel和Gae争夺文件,Python-TK



我正在尝试在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应用中,它们也可能使用生产中不支持的东西,因此整个过程都无法正常工作。

最新更新