当我切换到 python3 时,来自 UI 的 API 请求给出了 "Provided data is not of type bytes"
API request from UI is giving "Provided data is not of type bytes" when i switched to python3
将代码从 python2.7 迁移到 3.7 时,我遇到了以下问题。
当我遇到来自 UI 的任何请求时,如下所示。
当我查看日志时。我能够在 return 语句之前打印响应 json,然后是 500 错误。下面是我的代码片段。
@app.route('/policy_count',methods=['GET'])
def wanhealth_policies()
response = {'total': 25, 'offset':10}
response = jsonify(status='success', result=response)
print("RESPONSE:::::::::",response)
return response
错误:webapp_sa_wh:/policy_count [GET]
异常
追溯(最近一次通话最后一次):
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 1817 行,在 wsgi_app
中
响应 = self.full_dispatch_request()
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 1479 行,在 full_dispatch_request
中
响应 = self.process_response(响应)
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 1693 行,在 process_response
中
self.save_session(ctx.session, 回复)
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 837 行,在 save_session
中
return self.session_interface.save_session(自我,session,回应)
文件 "home/ENV/lib/python3.7/site-packages/flask_kvsession/init.py",第 193 行,在 save_session
中
store.put(session.sid_s, 数据, ttl)
文件 "home/ENV/lib/python3.7/site-packages/simplekv/decorator.py",第 87 行,在 put
中
self._dstore.put(self._map_key(key), *args, **kwargs))
文件 "home/ENV/lib/python3.7/site-packages/simplekv/init.py",第 424 行,在 put
中
提高 IOError("Provided data is not of type bytes")
OSError:提供的数据不是 bytes
类型
WARNING:root:Sending 错误响应: , 数据: b'{"error": "Provided data is not of type bytes", "status_code": 500}'
OSError:提供的数据不是字节类型
WARNING:root:Sending 错误响应:,数据:b'{"error": "Provided data is not of type bytes", "status_code": 500}'
{地址 space 用法:581894144 bytes/554MB} {rss 用法:120606720 bytes/115MB} [pid: 6936|app: 0|req: 1/1] 10.2.0.1 () {60 vars 1391 字节} [Thu Mar 26 12:28:45 2020] GET /policy_count => 在 452 毫秒内生成 67 个字节 (HTTP/1.1 500) 2 headers 在 90 个字节中 ( 1 开关在核心 0)
我在将 Flask 应用程序从 Python 2.7 迁移到 Python 3.7 时遇到了类似的问题。
Flask-KVSession 使用 simplekv python 包来存储各种后端的会话数据,并且对于版本 Flask-KVSession=0.6.2,现有安装的 simplekv 不完全兼容使用 Python 3. 安装 Flask-KVSession 后安装 simplekv==0.9.3 解决了问题。
将代码从 python2.7 迁移到 3.7 时,我遇到了以下问题。 当我遇到来自 UI 的任何请求时,如下所示。
当我查看日志时。我能够在 return 语句之前打印响应 json,然后是 500 错误。下面是我的代码片段。
@app.route('/policy_count',methods=['GET'])
def wanhealth_policies()
response = {'total': 25, 'offset':10}
response = jsonify(status='success', result=response)
print("RESPONSE:::::::::",response)
return response
错误:webapp_sa_wh:/policy_count [GET]
异常
追溯(最近一次通话最后一次):
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 1817 行,在 wsgi_app
中
响应 = self.full_dispatch_request()
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 1479 行,在 full_dispatch_request
中
响应 = self.process_response(响应)
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 1693 行,在 process_response
中
self.save_session(ctx.session, 回复)
文件 "home/ENV/lib/python3.7/site-packages/flask/app.py",第 837 行,在 save_session
中
return self.session_interface.save_session(自我,session,回应)
文件 "home/ENV/lib/python3.7/site-packages/flask_kvsession/init.py",第 193 行,在 save_session
中
store.put(session.sid_s, 数据, ttl)
文件 "home/ENV/lib/python3.7/site-packages/simplekv/decorator.py",第 87 行,在 put
中
self._dstore.put(self._map_key(key), *args, **kwargs))
文件 "home/ENV/lib/python3.7/site-packages/simplekv/init.py",第 424 行,在 put
中
提高 IOError("Provided data is not of type bytes")
OSError:提供的数据不是 bytes
类型
WARNING:root:Sending 错误响应: , 数据: b'{"error": "Provided data is not of type bytes", "status_code": 500}'
OSError:提供的数据不是字节类型 WARNING:root:Sending 错误响应:,数据:b'{"error": "Provided data is not of type bytes", "status_code": 500}' {地址 space 用法:581894144 bytes/554MB} {rss 用法:120606720 bytes/115MB} [pid: 6936|app: 0|req: 1/1] 10.2.0.1 () {60 vars 1391 字节} [Thu Mar 26 12:28:45 2020] GET /policy_count => 在 452 毫秒内生成 67 个字节 (HTTP/1.1 500) 2 headers 在 90 个字节中 ( 1 开关在核心 0)
我在将 Flask 应用程序从 Python 2.7 迁移到 Python 3.7 时遇到了类似的问题。 Flask-KVSession 使用 simplekv python 包来存储各种后端的会话数据,并且对于版本 Flask-KVSession=0.6.2,现有安装的 simplekv 不完全兼容使用 Python 3. 安装 Flask-KVSession 后安装 simplekv==0.9.3 解决了问题。