pyenchant错误" DictNotFoundError:语言词典' en_US'无法找到"

时间:2017-11-19 08:55:34

标签: python-3.x ubuntu aspell pyenchant enchant

我在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/的初始化的.py&#34 ;,   第562行, init       _EnchantObject。的初始化(个体)

     

文件   " /home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/的初始化的.py&#34 ;,   第168行,在 init 中       self._init_this()

     

文件   " /home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/的初始化的.py&#34 ;,   第569行,在_init_this中       this = self._broker._request_dict_data(self.tag)

     

文件   " /home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/的初始化的.py&#34 ;,   第310行,在_request_dict_data中       self._raise_error(eStr%(tag,),DictNotFoundError)

     

文件   " /home/grzegorz/anaconda3/lib/python3.6/site-packages/enchant/的初始化的.py&#34 ;,   第258行,在_raise_error中       提升eclass(默认)

     

DictNotFoundError:语言词典' en_US'无法找到

打印输出是:

  

dict是[]

因此没有加载字典。似乎附魔不知道aspell词典的位置。

我尝试了很多种

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

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

1 个答案:

答案 0 :(得分:0)

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