Python run_simple启动flask报'utf-8' codec can't decode byte 0xc9..的问题

Python run_simple启动flask报'utf-8' codec can't decode一般发生在低版本的python3中,因此除了直接解决错误问题,还能通过升级python版本解决。

为了兼容win7,作者一直把python版本控制在python3.7.x,这也造成了当计算机名是汉字中文的时候,无法通过run_simple启动flask,会报错:'utf-8' codec can't decode byte Oxc9 in position 0: invalid 。

根据实际问题排查,发现这个现象在win11中存在。


解决这个问题的方法有3中;

1、把计算机名换成没有汉字的
2、升级python版本到python3.10之上应该也OK,但将不兼容win7
3、在使用 run_simple启动flask的代码中,先运行几行代码也能解决。


import socket

        _original_getfqdn = socket.getfqdn

        def safe_getfqdn(name=""):
            try:
                return _original_getfqdn(name)
            except UnicodeDecodeError:
                # 明确兜底
                return "localhost"

        socket.getfqdn = safe_getfqdn



相关推荐

猜你喜欢

设置xshell断开自动重连的方法

设置xshell断开自动重连的方法

有时候xshell挂机做一些任务,由于网络不稳定,尤其是我们这种家用宽带时不是跳一下公网IP导致连接异常,xshell经常没过多久就断开了,麻烦的很。 关于这个问题首先问了一个AI, AI一本正经胡...

linux centos 解决卸载分区出现umount: target is busy.

linux centos 解决卸载分区出现umount: target is busy.

服务器一个分区的文件数过多,磁盘满,用rm时间太久,由于文件属于Cache可删除,决定直接格式化这个分区。 根据步骤,要选umount卸载分区,再mkfs.ext4格式化,再重新mount挂载。 【...

升级DellR430 bios以点亮V4CPU

升级DellR430 bios以点亮V4CPU

有一台以前买的R430服务器,原来安装的E5-2620V3 CPU,相升级换成 E5-2680V4 。 无奈发现开机后一直卡在,Configuring Memory…Done ,换回V3 CPU就正常...

解决autodl的GPU服务器Ubuntu vim中文乱码

解决autodl的GPU服务器Ubuntu vim中文乱码

为了微调chatbml3 6b,租了台3090的服务器,而且直接使用的社区镜像。 本次出现汉字乱码的系统版本如下 cat /proc/version Linux version 5.15.0-57-...