python - 无法使用 CGI 处理程序启用线程安全

标签 python google-app-engine

我一直在努力关注this turorial为了在应用程序上实现 openID 身份验证,但我完全迷路了。无论我尝试什么,我都会不断收到此错误:

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

有谁知道如何实现 openID 登录?

最佳答案

这与 OpenID 无关。

如果您在 Google App Engine 中使用新的并发请求 (threadsafe=true) 模式和 python 2.7,您必须确保指定一个 WSGI 应用程序(例如 myapp.app)而不是一个app.yaml 中的 CGI 处理程序(例如 myapp.py)(有关详细信息,请参阅 here):

看起来像这样:

应用程序.yaml:

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

主要.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()
"""

或者,您也可以禁用并发请求 (threadsafe=false) 并使用旧的 CGI 处理程序。

关于python - 无法使用 CGI 处理程序启用线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11578358/

相关文章:

google-app-engine - 解析go.mod时出错,如何在具有Cloud build的App Engine上部署go app?

java - 如何从 Google App Engine 应用程序的后端模块注册任务队列

python - PyFPDF 在 Google App Engine 中添加 Unicode 字体

python - 使用请求模块的 SSL 连接

python - 属性错误: module 'dateutil.parser' has no attribute 'parse' pandas on python 3. 7

java - 云端点 : Access Paramters in Servlet Filter

python - 在 pycharm 中使用谷歌应用引擎 SDK

python - 从 NumPy 中的对象数组获取属性

python - 将 Django 模型验证错误传输到表单的惯用方法

python - PyGame - 带阴影的文本