繁体   English   中英

Flask Web 应用程序上的 AppEngine 错误消息

[英]AppEngine error message on Flask Web Application

我正在 Google 的 App Engine (Python 3.7) 上实现一个 Flask web 应用程序(它在 Python 3.1 上本地运行)并出现以下错误:

内部服务器错误 服务器遇到内部错误,无法完成您的请求。 服务器过载或应用程序中存在错误。

那是错误日志:

{
  "textPayload": "Traceback (most recent call last):\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/flask/app.py\", line 2447, in wsgi_app\n    response = self.full_dispatch_request()\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/flask/app.py\", line 1953, in full_dispatch_request\n    return self.finalize_request(rv)\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/flask/app.py\", line 1970, in finalize_request\n    response = self.process_response(response)\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/flask/app.py\", line 2269, in process_response\n    self.session_interface.save_session(self, ctx.session, response)\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/flask_session/sessions.py\", line 354, in save_session\n    total_seconds(app.permanent_session_lifetime))\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/cachelib/file.py\", line 224, in set\n    self._prune()\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/cachelib/file.py\", line 159, in _prune\n    if self._over_threshold():\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/cachelib/file.py\", line 102, in _over_threshold\n    return self._threshold != 0 and self._file_count > self._threshold\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/cachelib/file.py\", line 69, in _file_count\n    return self.get(self._fs_count_file) or 0\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/cachelib/file.py\", line 193, in get\n    pickle_time = self.serializer.load(f)\n  File \"/layers/google.python.pip/pip/lib/python3.7/site-packages/cachelib/serializers.py\", line 29, in load\n    data = pickle.load(f)\nValueError: unsupported pickle protocol: 5",
  "insertId": "62069f77000ddb77156b638a",
  "resource": {
    "type": "gae_app",
    "labels": {
      "version_id": "{VERSION_ID}",
      "module_id": "default",
      "project_id": "{PROJECT_ID",
      "zone": "{ZONE}
    }
  },
  "timestamp": "{DATE}",
  "severity": "ERROR",
  "labels": {
    "clone_id": "00c61b117ccbf120db0bbf309ad2da98e7fc043e3476b10e04eb7dec8eacd8a8fff7a965420d11f752ea4b643abc9f95f12446cbbacbd7d3c1bdefcc1a1f8e9445f4a6d8b98de1d3fe4073120f2464989ace693a"
  },
  "logName": "projects/{PROJECT_NAME}/logs/stderr",
  "receiveTimestamp": "{DATE}"
}

它说ValueError: unsupported pickle protocol: 5 ,所以你可能需要安装 python pickle5?

在您的系统上安装 pickle5:

pip install pickle5

在您的代码中导入 pickle5 而不是 pickle:

import pickle5 as pickle

它抱怨 pickle 中的协议 5。 协议 5 可从 Python 3.8 获得。

文档

Python 3.8 中添加了协议版本 5。 它增加了对带外数据的支持和对带内数据的加速。 有关协议 5 带来的改进的信息,请参阅 PEP 574。

您可以升级到 Python 3.8 或在较低的 python 版本上使用Pickle5 (即您当前的 Python 3.1 和 Python 3.7)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM