使用 nltk.corpus.gutenberg.fileids() 的路径解码错误

Decoding error in paths using nltk.corpus.gutenberg.fileids()

当我 运行 nltk.corpus.gutenberg.fileids() 与 Python 2.7 (Anaconda, Windows) 我得到以下错误:

File "C:\Anaconda\lib\ntpath.py", line 85, in join
    result_path = result_path + '\'

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 9:
ordinal not in range(128)

我使用Python 3.4 时没有这个错误。 也许我错了,但我怀疑路径包含口音(因为我的 Windows 用户名中有口音)。

当我在ntpath.py中添加一些print时,没有打印任何东西我不知道为什么(?)所以我无法自己调试

编辑: import nltk 足以得到错误。

我猜 Python 2 nltk 在非 ASCII 路径方面存在一些问题。使用 Python 3 可能是这里最简单的修复方法,至少假设您没有太多无法在其中运行的代码。很难肯定地说,因为您没有包含完整的回溯,但可能必须修补 nltk 才能为 Python 2 修复此问题。否则,您需要避免使用非 ASCII 字符的路径(意味着避开您的用户目录或更改您的用户名)。