我一直在使用Google App Engine,并且在部署我的应用程序时遇到很多麻烦。我已经从Google Cloud Platform上的Github连接了我的源存储库,为此我正在使用Windows和Python 3.7。

我曾尝试寻找类似的问题并尝试使用不同的解决方案,还尝试使用GAE文档来部署我的应用程序,但是我仍然最终收到“ 500 Server Error”错误,并且页面告诉我“ Error:Server Error” ”。当我检查错误报告时,错误显示为“ ImportError:没有名为ssl的模块”,但我不知道该如何处理。

因此,我想知道是什么原因造成的,它仍然是我的代码中的东西,还是可能与我的目录有关?任何答复将不胜感激。

以下是我的“ main.py”代码:

import webapp2
import jinja2
import os
from webapp2_extras import sessions

class BaseHandler(webapp2.RequestHandler):
    def dispatch(self):
        # Get a session store for this request.
        self.session_store = sessions.get_store(request=self.request)

        try:
            # Dispatch the request.
            webapp2.RequestHandler.dispatch(self)
        finally:
            # Save all sessions.
            self.session_store.save_sessions(self.response)

    @webapp2.cached_property
    def session(self):
        # Returns a session using the default cookie key.
        return self.session_store.get_session()

jinja_env = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
    extensions=['jinja2.ext.autoescape'],
    autoescape=True)

class MainPage(BaseHandler):
    def get(self):
        main_template = jinja_env.get_template('templates/index.html')
        self.response.write('Hello, World!')

        name = self.request.get("name")    # name
        self.session['name'] = name

        self.response.write(main_template.render(name=name))

    def post(self):
        main_template = jinja_env.get_template('templates/index.html')
        self.response.write('Inputted text: ' % self.request.get('name'))

        name = self.request.get("name")    # Category
        self.session['name'] = name

        self.response.write(main_template.render(name=name))

config = {}
config['webapp2_extras.sessions'] = {
    'secret_key': 'my-super-secret-key',
}

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


这是我的“ app.yaml”代码:

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /static
  static_dir: static
- url: /.*
  script: main.app

libraries:
- name: webapp2
  version: "2.5.2"
- name: jinja2
  version: latest
- name: ssl
  version: latest

最佳答案

尝试在您定义latestapp.yaml周围放置方括号

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /static
  static_dir: static
- url: /.*
  script: main.app

libraries:
- name: webapp2
  version: "2.5.2"
- name: jinja2
  version: "latest"
- name: ssl
  version: "latest"

10-07 16:26
查看更多