jupyter-nbconvert.exe --generate-config 报错 UnicodeEncodeError: 'gbk'

2020-12-30 20:53:15 +08:00
 XIVN1987

报错信息为:

  File "c:\python36\venv\lib\site-packages\jupyter_core\application.py", line 156, in write_default_config
    f.write(config_text)
UnicodeEncodeError: 'gbk' codec can't encode character '\xb6' in position 8440: illegal multibyte sequence

查看“jupyter_core\application.py”内容如下:

with open(config_file, mode='w') as f:
    f.write(config_text)

改成:

with open(config_file, mode='w', encoding='utf-8') as f:
    f.write(config_text)

重新执行,执行成功,不再报错

这是 bug 吗?我要去提个 issue 吗?

1696 次点击
所在节点    Jupyter
2 条回复
ysc3839
2020-12-30 20:56:48 +08:00
个人觉得不算 bug,而是考虑不周全,没有检测文件编码。
个人建议加个命令行参数,让用户手动指定文件编码。
Jirajine
2020-12-30 22:40:55 +08:00
这是陈年老 bug(feature)了。Python 在 Windows 下默认使用系统环境的编码方式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/740421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX