【发布时间】:2017-09-19 13:36:10
【问题描述】:
我开始制作一个从 linux 服务器运行的 python3 werkzeug web 应用程序,但是每次我尝试从 Jupyter 笔记本启动它时,它都会显示此警告(导致 500 Internal浏览器中的服务器错误)
from sys import getfilesystemencoding
print(getfilesystemencoding()) # Returns 'ascii' inside Jupyter
df = DataFrame(data=......mydata......)
webservice_test = WebService(lambda: globals(), 'df', host='XXX', port=XXX)
webservice_test.start()
/home/python/anaconda3/envs/notebook_env/lib/python3.5/site-packages/werkzeug/filesystem.py:63: BrokenFilesystemWarning: Detected a misconfigured UNIX filesystem: Will use UTF-8 as filesystem encoding instead of 'ascii'
BrokenFilesystemWarning)
我尝试禁用警告,但 Web 视图仍然中断(唯一的区别是警告未显示在 Jupyter 中)。我找到了编码 使用 sys.getfilesystemencoding(),每次从 Jupyter 运行时返回“ascii”,但在 Jupyter 之外的同一台机器上运行时返回“utf-8”。
tl;dl 有什么方法可以更改 Jupyter 笔记本中的默认编码?
【问题讨论】:
-
顺便说一句,我在原始 wiki 和其他 stackoverflow 线程上尝试了一些建议,但没有任何帮助。
-
我之前从未使用过 Jupyter notebook,我只有一个建议。尝试在 Python 文件的(第一)行中使用此表达式声明源文件的编码:
# -*- coding: encoding -*-其中 encoding 是所需的编码。 -
我试过# -- coding: utf-8 -- 但好像对环境没有影响。
标签: python python-3.x jupyter-notebook jupyter werkzeug