为什么我的 Jupyter Notebook 即使在 Python3 上也使用 ascii 编解码器?

Why is my Jupyter Notebook using ascii codec even on Python3?

我正在分析一个包含法语字符的数据框。

我在我的jupyter笔记本中设置了一个基于Python3的IPython内核,所以默认编码应该是utf- 8.

但是,一旦重音字符出现在我的 .ipynb 中(如 é、è...),我就无法再保存我的笔记本,即使这些字符是在 utf-8 中处理的。 我在尝试保存时收到的错误消息是这样的:

Unexpected error while saving file: Videos.ipynb 'ascii' codec can't encode characters in position 347-348: ordinal not in range(128)

这是一些最小的代码,在基本 Python3 内核中给出了相同的错误消息

import pandas as pd
d = {'EN': ['Hey', 'Wassup'], 'FR': ['Hé', 'ça va']}
df = pd.DataFrame(data=d)

(实际上是一个带有“é”的简单单元格作为文本确实阻止了我保存)

我见过类似的问题,但它们都是基于 Python 2.7,所以没有任何相关性。为了解决这个问题,我还尝试了几种方法:

问题来自保存笔记本而不是读取文件,所以基本上我想切换到 utf-8 编码来保存我的 .ipynb 文件,但不知道在哪里。

我怀疑这个问题可能是因为我在 Windows10 上使用 WSL - 虽然只是一种直觉。

非常感谢您的帮助!

好吧,事实证明卸载然后重新安装 jupyter notebook 成功了。不确定发生了什么,但现在已经解决了。