Как импортировать и использовать расширение 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
,