1

我在 Spyder/Anaconda 中运行 Python 3.6,我正在尝试使用附魔。我安装了 pyenchant 使用

pip install pyenchant

我还使用安装了 aspell

sudo apt-get install aspell-en

我在 Python 中执行:

import enchant

print("The dict is", enchant.list_languages())

slownik = enchant.Dict("en_US")

我不断收到错误消息:

文件“/home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/init .py ”,第 562 行,在init _EnchantObject 中。初始化(自己)

文件“/home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/init .py ”,第 168 行,在init self._init_this()

文件“/home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/init .py ”,第 569 行,在 _init_this this = self._broker._request_dict_data(self.tag)

文件“/home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/init .py ”,第 310 行,在 _request_dict_data self._raise_error(eStr % (tag,),DictNotFoundError)

文件“/home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/init .py ”,第 258 行,在 _raise_error raise eclass(默认)

DictNotFoundError:找不到语言“en_US”的字典

打印输出是:

字典是 []

所以没有字典被加载。似乎附魔不知道咒语字典在哪里。

我尝试了许多变体

enchant.set_param("enchant.aspell.dictionary.path","/aspell") enchant.set_param("enchant.myspell.dictionary.path","/usr/bin/aspell")

可能相关的是:这个简单的代码在我升级到 Ubuntu 17.10(从 17.4)之前就已经工作了,所以我当时不知怎么就开始工作了,但那是很久以前的事了,我无法重新创建我当时在安装 enchant 时所做的不同。我还将 Spyder 更新到了最新版本,其中一项操作显然导致代码中断。我过去更新了 Spyder,它没有引起任何问题,所以我怀疑在系统更新期间,一些重要的东西被删除/移动了。我在 MacOS 上为有类似问题的人找到了答案,但我找到的答案在 Ubuntu 上不起作用。任何帮助将不胜感激。

4

1 回答 1

0

临时解决方案 - 降级到 Python 3.5。似乎 pyenchant 1.6.11 与 Python 3.6 不兼容,并且它仅在与 Python 3.6 一起使用时尝试导入 Hspel(希伯来语)库。我希望能够使用最新的 Python,所以问题没有解决,但这是迄今为止最好的(也是唯一的)解决方案。

于 2017-11-19T14:35:18.787 回答