Как импортировать и использовать расширение Python Levenshtein для OSX?

Я скачал архив Python-Levenshtein и извлек директорию Levenshtein. Итак, в результате у меня есть следующая структура файлов:

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

Что здесь не так?

3 ответа

Чтобы установить пакет python-Levenshtein:

  • pip install python-levenshtein

(Это требует pip, но большинство современных установок Python включают его.)

Мне кажется, что вы не собирали пакет Левенштейна. Перейдите в неэкстрагированный каталог загруженного источника (например, 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) без префикса с именем пакета).

Установка и использование пакета Levenshtein PIP в Windows, Mac и UNIX

Установить с помощью sudo или запустить от имени администратора

pip install python-levenshtein

Импортируйте в свой код с помощью:

import Levenshtein as lev

чем в вашем коде, вы можете использовать такие функции Левенштейна, как это

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

который выведет

4

.

Вы можете попытаться установить переменные окружения:

добавить пути к каталогам python-Levenshtein-master\build\lib.win-amd64-2.7\Levenshtein а также python-Levenshtein-master\build\temp.win-amd64-2.7\Release\Levenshtein в вашей системной переменной среды PATH,

Другие вопросы по тегам