2012-06-06 3 views
5

Lionを実行しているMacbookProにpyenchantをインストールする際に問題があります。私はエンチャントをインストールするために自作してピップを使用しましたし、私も次のフォルダに英語の辞書をダウンロードしたMac OS Xでpyentantが辞書ファイルを見つけることができません

pyenchant

自作は

がpyenchantインストールPIPエンチャントインストール:

/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/enchant/share/enchant/myspell

-rw-r--r-- 1 mycomputer admin  75 Jun 6 13:34 README.txt 
[email protected] 1 mycomputer staff 1017 May 4 2007 README_en_US.txt 
[email protected] 2 mycomputer staff  68 Jun 6 13:38 en_US 
[email protected] 1 mycomputer staff 3045 May 4 2007 en_US.aff 
[email protected] 1 mycomputer staff 696131 May 4 2007 en_US.dic 

ただし、エンチャントを使用しようとすると、次のエラーが発生します。

>>> import enchant 
>>> d = enchant.Dict('en_US') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/enchant/__init__.py", line 502, in __init__ 
    self._switch_this(broker._request_dict_data(tag),broker) 
    File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/enchant/__init__.py", line 264, in _request_dict_data 
    self._raise_error(eStr % (tag,),DictNotFoundError) 
    File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/enchant/__init__.py", line 218, in _raise_error 
    raise eclass(default) 
enchant.errors.DictNotFoundError: Dictionary for language 'en_US' could not be found 

私は私が正しいフォルダにインストールされた辞書ファイルを持っていない推測しているが、私はそれらをインストールする場所を他に知りません。

ありがとうございました。

答えて

6

エンチャントは「怠け者」であり、aspellのバックエンドサポートが必要です。

だから、何をする必要がある:dictsエンその後

brew remove aspell 
brew install aspell --lang=en 

がインストールされていないので、追加のdictsをダウンロードする必要されます。

0

私は、このコマンドを使用して解決することができました:

enchant.set_param( "enchant.myspell.dictionary.path"、 「/usr/local/Cellar/python/2.7.3/libを/python2.7/site-packages/enchant/share/enchant/myspell ")

ポートを使用してエンチャントをインストールした他の人にはこの問題はありませんでした。

1

また、辞書パスのパラメータを明示的に設定することで解決できました。 brewがインストールされていない - macポートを使用しています。 .zip.oxtの名前を変更した後に(手動でのApacheオープンオフィスからOXTファイルをダウンロードし、そこからファイルを抽出する必要がありました保存

Python 2.7.1 (r271:86832, Jul 31 2011, 19:30:53) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 
>>> import enchant 
>>> d = enchant.Dict("en_US") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.7/site-packages/pyenchant-1.6.5-py2.7.egg/enchant/__init__.py", line 502, in __init__ 
    self._switch_this(broker._request_dict_data(tag),broker) 
    File "/Library/Python/2.7/site-packages/pyenchant-1.6.5-py2.7.egg/enchant/__init__.py", line 264, 
    in _request_dict_data 
    self._raise_error(eStr % (tag,),DictNotFoundError) 
    File "/Library/Python/2.7/site-packages/pyenchant-1.6.5-py2.7.egg/enchant/__init__.py", line 218, in _raise_error 
    raise eclass(default) 
enchant.errors.DictNotFoundError: Dictionary for language 'en_US' could not be found 

をこれらのデフォルトのパス値は、今私は私のファイルシステムの仕様を使用して修正プログラムを適用する場合:?

再び - - 保存され、このパスのデフォルトのバージョンがどこにある
>>> enchant.set_param("enchant.myspell.dictionary.path","/Library/Python/2.7/site-packages/pyenchant-1.6.5-py2.7.egg/enchant/share/enchant/myspell") 
>>> d=enchant.Dict("en_US") 
>>> d.check("enchant") 
True 
>>> 

百聞は一見にしかず -

(私はPythonと卵へニュービーだJavaや瓶から来ます)