web-dev-qa-db-ja.com

OSXでpython Levenshtein拡張機能をインポートして使用する方法は?

Python-Levenshteinアーカイブをダウンロードし、Levenshtein dirを抽出しました。したがって、結果として、次のファイル構造になります。

Levenshtein
  - __init__.py
  - _levenshtein.c
  - _levenshtein.h
  - StringMatcher.py
myscript.py

そして次のmyscript.pyコンテンツ:

from Levenshtein import *
from warnings import warn

print Levenshtein.distance(string1, string2)

しかし、私は次のエラーを受け取ります-

Traceback (most recent call last):
  File "myscript.py", line 1, in <module>
    from Levenshtein import *
  File "/path/to/myscript/Levenshtein/__init__.py", line 1, in <module>
    from Levenshtein import _levenshtein
ImportError: cannot import name _levenshtein

ここで何が問題になっていますか?

11
LA_

python-Levenshtein パッケージをインストールするには:

  • pip install python-levenshtein

(これには pip が必要ですが、最新のPythonインストールにはこれが含まれます。)

24

build Levenshteinパッケージを使用していないようです。ダウンロードしたソースの解凍されていないディレクトリ(たとえば、_python-Levenshtein-0.12.0/_)に移動し、次のようにビルドします。

_python setup.py build
_

すべてが順調に進んだ場合(おそらく、いくつかの警告は別として)、次のように_site-packages_にインストールします

_Sudo python setup.py install
_

その後、パッケージを使用できることがわかりました。例えばIPython内から:

_In [1]: import Levenshtein
In [2]: string1 = 'dsfjksdjs'
In [3]: string2 = 'dsfiksjsd'
In [4]: print Levenshtein.distance(string1, string2)
3
_

((おそらく賢明ではない)ワイルドカードインポートでは、パッケージ名を前に付けずにdistance(string1, string2)を使用する必要があることに注意してください)。

14
xnx

Windows、Mac、UNIXでのLevenshtein PIPパッケージのインストールと使用法

Sudoを使用してインストールするか、管理者として実行します

pip install python-levenshtein

以下を使用してコードにインポートします。

import Levenshtein as lev

あなたのコードで使うことができるより Levenstein functions のように

lev.distance('Levenshtein', 'Lenvinsten')

出力されます

4

4
Harvey