Я запускаю Python 3.6 в Spyder / Anaconda, пытаюсь использовать enchant. Я установил 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 не найден
А распечатка такая:
Диктовка []
так что словари не загружаются. Похоже, что энчант не знает, где находятся словари aspell.
Я пробовал множество вариантов
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. Любая помощь будет принята с благодарностью.