作者:小七 | 来源:互联网 | 2023-09-05 13:42
本地测试写好脚本,换个环境运行flask程序,出现如下问题
File "D:\Python\lib\http\server.py", line 139, in server_bind
self.server_name = socket.getfqdn(host)
File "D:\Python\lib\socket.py", line 677, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd2 in position 0: invalid continuation byte
一看编码的问题,稍微百度后发现时电脑名称时中文引起的,大多文件都是需要直接改电脑名称。
这里给出直接改python文件的方法。
首先我们找到抛出异常的文件所在的位置
就是上面抛出异常的位置" D:\Python\lib\socket.py",这个文件,找到出错那一行。
解决思路:
由于是编码出现问题,所以我们找到哪个地方获取我们的电脑名称,我们直接在py文件里面改成英文就好了。
name=gethostname() # 这一行就是获取本机的名称
然后抛出异常的函数是这个 gethostbyaddr(name)
所以我们在它调用前修改为英文。
亲测有效,虽然可能会引起未知的BUG,但是总比该电脑名称好( 改了很多东西会自动改。。。。)
溜了溜了。。。。