我正在运行到看起来像一个常见问题。但是,通常建议的解决方案似乎并不适用于此。尝试运行App Engine时,我得到“线程安全无法启用CGI处理程序”。当然,文档是可怕的。我正在使用webapp2,所以线程安全应该没关系。“线程安全无法启用CGI处理程序”
我的文件结构应如下: 后端/ API/get_json.py - 这有助于即将/api/*.json换句话说所有的HTTP请求,后端/部分是从最终用户隐藏。
我遇到麻烦的app.yaml认识到,在/backend/api/get_json.py
app.yaml文件正确加载Python的文件:
application: ebtest
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /api/.*\.json
script: backend/api/get_json.application
libraries:
- name: webapp2
version: "2.5.2"
后端/ API/get_json.py
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Hello, World!')
application = webapp2.WSGIApplication([
('/api/get_users.json', MainPage),
], debug=True)
错误
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 177, in _HandleEvents
raise yaml_errors.EventError(e, event_object)
google.appengine.api.yaml_errors.EventError: **threadsafe cannot be enabled with CGI handler: backend/api/get_json.application**
是线程安全不应该是真实的,而不是对?我也不认为你需要在库中指定webapp2。至少这就是我在我的应用程序 – marcadian
中的内容,我认为现在我应该看看文档;不幸的是,这并没有解决问题。我离线更新了代码,并在上面的代码片段中。 – eb80