python3.6.1 安装mlab, 出现a bytes-like object is required, not 'str' 错误, 查找资料,
发现这里python3.5和Python2.7在套接字返回值解码上有区别。
先介绍一下 python bytes和str两种类型转换的函数encode(),decode()
- str通过encode()方法可以编码为指定的bytes
- 反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:
查找出错位置,C:\ProgramData\Anaconda3\Lib\distutils\util.py 此文件的 474行出错。
原文为:
def rfc822_escape (header):
"""Return a version of the string escaped for inclusion in an
RFC-822 header, by ensuring there are 8 spaces space after each newline.
"""
lines =header.split('\n')
sep = '\n' + 8 * ' '
return sep.join(lines)
修改为:
def rfc822_escape (header):
"""Return a version