問題タブ [pyenchant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - pyenchant エラー "DictNotFoundError: 言語 'en_US' の辞書が見つかりませんでした"
Spyder/Anaconda で Python 3.6 を実行しています。enchant を使用しようとしています。使用してpyenchantをインストールしました
を使用してaspellもインストールしました
私はPythonで実行しています:
エラーが発生し続けます:
ファイル "/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 辞書がどこにあるかを知らないようです。
色々なバリエーションを試しました
関連する可能性があるもの: この単純なコードは、Ubuntu 17.10 (17.4 から) にアップグレードする前に機能したため、何とかエンチャントが機能するようになりましたが、それはずっと前のことであり、エンチャントをインストールしたときに別の方法で行ったことを再現することはできません。また、Spyder を最新バージョンに更新しました。これらの操作の 1 つで、明らかにコードが壊れました。過去に Spyder を更新していましたが、問題は発生していませんでした。そのため、システムの更新中に重要なものが削除/移動された可能性があります。MacOS で同様の問題を抱えている人への回答を見つけましたが、見つけた回答は Ubuntu では機能しません。どんな助けでも大歓迎です。
django - Python/Django で Unicode 文字を ASCII 文字に置き換える
ここでは Python 2.7 を使用しています (これは非常に関連性があります)。「em」ダッシュ「—」を含む文字列があるとします。これは ASCII でエンコードされていません。したがって、私の Django アプリがそれを処理すると、エラーが発生します。多くの。そのような文字の一部を、文字列のトークン化のために Unicode に相当する文字に置き換えて、スペル チェック API (PyEnchant、非 ASCII アポストロフィをスペルミスと見なす) で使用したいと考えています。たとえば、em の代わりに短い「-」ダッシュを使用します。ダッシュ。これが私がやっていることです:
s = unicode(s).replace(u'\u2014', '-').replace(u'\u2018', "'").replace(u'\u2019', "'").replace(u'\u201c', '"').replace(u'\u201d', '"')
残念ながら、これは実際には Unicode 文字を置き換えているわけではありません。その理由はわかりません。ページの上部に将来から unicode_literals をインポートするか、そこにエンコーディングを設定しても、実際の Unicode リテラルをコードに配置することはできません。 encode() と decode() を使用した無限のトリック。Python 2.7でこれを行うための簡単でフェイルセーフな方法を誰か教えてもらえますか?