问题描述
TypeError: can't concat str to bytearray
我正在使用 python3.5 和 gevent 20.9.0 我什至尝试将 gevent 降级到旧版本,但同样的问题仍然存在。
当我尝试导入和使用以下类时,出现以下错误。
from gevent.pywsgi import WsgiServer,WsgiHandler
class handler_class(WsgiHandler):
def __init__(self,*args,**kwargs):
WsgiHandler.__init__(self,**kwargs)
self.socket.setsockopt(socket.soL_SOCKET,socket.so_KEEPALIVE,1)
family = socket.AF_INET6 if enable_ipv6 else socket.AF_INET
sock = WsgiSocket(family,socket.soCK_STREAM)
sock.setsockopt(
socket.soL_SOCKET,socket.so_REUSEADDR,int(bool(allow_reuse_address)))
sock.settimeout(timeout)
sock.bind(server_address)
sock.listen(max_size)
server = WsgiServer(sock,handler,log=open(os.devnull,"w+"),spawn=max_size or "default",handler_class=handler_class)
server.serve_forever()
当我查看 pywsgi 文件时,我发现错误来自代码中的以下部分。
def _write(self,data,_bytearray=bytearray):
if not data:
# The application/middleware are allowed to yield
# empty bytestrings.
return
if self.response_use_chunked:
# Write the chunked encoding header
header_str = b'%x\r\n' % len(data)
towrite = _bytearray(header_str)
# data
towrite += data
# trailer
towrite += b'\r\n'
self._sendall(towrite)
else:
self._sendall(data)```
Can anyone suggest if they faced the similar issue,aor is there any suggested workaround for this.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)