Python Werkzeug引发BrokenFileSystem警告
当我将表单数据发送到Flask应用程序时,出现以下错误。它说它将使用UTF-8编码,但语言环境已经是UTF-8。这个错误意味着什么Python Werkzeug引发BrokenFileSystem警告,python,unix,encoding,utf-8,flask,Python,Unix,Encoding,Utf 8,Flask,当我将表单数据发送到Flask应用程序时,出现以下错误。它说它将使用UTF-8编码,但语言环境已经是UTF-8。这个错误意味着什么 /home/.virtualenvs/project/local/lib/python2.7/site packages/werkzeug/filesystem.py:63: BrokenFilesystemWarning:检测到配置错误的UNIX文件系统: 将使用UTF-8作为文件系统编码,而不是“ANSI_X3.4-1968” $locale LANG=en_
/home/.virtualenvs/project/local/lib/python2.7/site packages/werkzeug/filesystem.py:63:
BrokenFilesystemWarning:检测到配置错误的UNIX文件系统:
将使用UTF-8作为文件系统编码,而不是“ANSI_X3.4-1968”
$locale
LANG=en_US.utf8
语言=en_US.utf8
LC_CTYPE=“en_US.utf8”
LC_NUMERIC=“en_US.utf8”
LC_TIME=“en_US.utf8”
LC_COLLATE=“en_US.utf8”
LC_MONETARY=“en_US.utf8”
LC_MESSAGES=“en_US.utf8”
LC_PAPER=“en_US.utf8”
LC_NAME=“en_US.utf8”
LC_ADDRESS=“en_US.utf8”
LC_TELEPHONE=“en_US.utf8”
LC_MEASUREMENT=“en_US.utf8”
LC_IDENTIFICATION=“en_US.utf8”
LC_ALL=en_US.utf8
这不是一个严重错误,只是警告Werkzeug无法检测到良好的区域设置,因此使用了UTF-8
。这个猜测可能是正确的
有关如何正确设置区域设置的信息,请参见。它提到Python可能会看到ANSI_X3.4-1968
编码,即使区域设置配置正确,如果您在某些环境(如Vim)中运行
执行:!python-c“import sys;print(sys.stdout.encoding)”
在ViM中,输出可能是ANSI_X3.4-1968
,即使每个地方的语言环境都设置正确。将pythonionecoding
环境变量设置为utf-8
,以纠正这种情况
我也看到了这个错误。挖掘代码后,我发现这个错误是无害的,只是
/usr/local/lib/python2.7/dist packages/werkzeug/filesystem.py中的一个警告:
warnings.warn(
'Detected a misconfigured UNIX filesystem: Will use UTF-8 as '
'filesystem encoding instead of {0!r}'.format(rv),
BrokenFilesystemWarning)
所以,我不会担心这个警告。我已经解决了它。在我的例子中,我在一个Docker容器中运行我的脚本,该容器使用不同的Python版本(3.6.9),我用来开发和测试它(3.7.5)。所以,现在我已经在容器中安装了相同的版本,不再出现此错误。我希望这对其他人有用。