.flaskenv 中只要有中文就报错“UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 125: illegal multibyte sequence”

.flaskenv 中只要有中文就报错“UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xac in position 125: illegal multibyte sequence, 请指点下该去修改哪里才能兼容? ,如果指示app.py中有中文就没事

.flaskenv 内容如下

#-------------------------------------------------#
# coding:utf-8
# r'此文件用来存储Flask命令行系统相关的公开环境变量'
#-------------------------------------------------#

#---------------------- System Enviroment Settings
FLASK_ENV=development  
# FLASK_ENV=prodction   

下面是app.py的内容,部分注释也含有中文汉字

#-----------------------------#

# coding='utf-8'

# !Python3

#-----------------------------#

# 模块导入

from flask import Flask, render_template,request,flash,url_for ,redirect

from flask_wtf import FlaskForm

from datetime import timedelta

在本地试了一下,没发现问题(Python 3.6,Flask 1.1.1,python-dotenv 0.10.3,Ubuntu 18.04)。

你的 python-dotenv 版本是多少?

$ pip show python-dotenv

.flaskenv导入环境变量和导入.env的一样,也要用到 python-dotenv。然后这个解码错误bug,python-dotenv最新版本应该是已经修复了的。

1 个赞

0.10.3

有点奇怪,麻烦再发下 Flask、Werkzeug 和 Python 版本,以及完整的错误回溯信息。