1

Spyder/Anaconda で Python 3.6 を実行しています。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 で eclass を発生させます (デフォルト)

DictNotFoundError: 言語 'en_US' の辞書が見つかりませんでした

そして、印刷物は次のとおりです。

口述は[]です

そのため、辞書はロードされていません。enchant は 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 を最新バージョンに更新しました。これらの操作の 1 つで、明らかにコードが壊れました。過去に 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 に答える