2012-07-20 84 views
4

我一直試圖關注this turorial以便在應用程序上實現openID身份驗證,但我完全丟失了。無論我嘗試了什麼,我一直得到這個錯誤:無法使用CGI處理程序啓用線程安全

Fatal error when loading application configuration: 
Invalid object: 
threadsafe cannot be enabled with CGI handler: main.py 

有誰知道如何實現openID登錄?

+0

http://stackoverflow.com/questions/10447879/error-python-2-7-on-google-app-engine-threadsafe-cannot-be-enabled-with-cgi-ha – 2013-04-09 19:22:27

回答

30

這與OpenID無關。

如果你在谷歌應用程序引擎使用新的併發請求(線程=真)模式與Python 2.7,你必須確保你指定一個WSGI應用(例如myapp.app),而不是CGI處理程序(例如, myapp.py)app.yaml中(見here有詳細介紹):

看起來是這樣的:

的app.yaml:

application: myapp 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 
handlers: 
    - url: /.* 
    script: myapp.app 

main.py:

import webapp2 

class MainPage(webapp2.RequestHandler): 
    def get(self): 
    self.response.headers['Content-Type'] = 'text/plain' 
    self.response.out.write('Hello, WebApp World!') 

app = webapp2.WSGIApplication([('/', MainPage)]) 

""" Old code: 
def main(): 
    run_wsgi_app(app) 

if __name__ == '__main__': 
    main() 
""" 

另外,您還可以禁用併發請求(線程=假)和使用舊的CGI處理程序。

+0

感謝您的指出錯誤,但我將如何實現OpenID登錄? – areke 2012-07-20 12:11:21

+1

一旦您修復了錯誤,您在問題中發佈的教程中的示例應該可以正常工作。 – 2012-07-20 12:13:02

+0

woohoo,我現在得到它:D謝謝 – areke 2012-07-20 12:17:32