我在Spyder / Anaconda中运行Python 3.6,我正在尝试使用附魔。我使用
安装了pyenchantpip install pyenchant
我还使用
安装了aspellsudo 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上不起作用。 任何帮助将不胜感激。
答案 0 :(得分:0)
临时解决方案 - 降级到Python 3.5。似乎pyenchant 1.6.11不兼容Python 3.6,并且它与Python 3.6一起使用时只尝试导入Hspel(希伯来语)库。我希望能够使用最新的Python,所以问题没有得到解决,但到目前为止这是最好的(也是唯一的)解决方案。