Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Werkzeug引发BrokenFileSystem警告_Python_Unix_Encoding_Utf 8_Flask - Fatal编程技术网

Python Werkzeug引发BrokenFileSystem警告

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_

当我将表单数据发送到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_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)。所以,现在我已经在容器中安装了相同的版本,不再出现此错误。我希望这对其他人有用。