問題タブ [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.

0 投票する
1 に答える
2508 参照

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 では機能しません。どんな助けでも大歓迎です。

0 投票する
1 に答える
393 参照

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でこれを行うための簡単でフェイルセーフな方法を誰か教えてもらえますか?