2015-01-27 13 views
7

Ho scaricato l'archivio Python-Levenshtein ed estratto Levenshtein dir. Così, in seguito ho la seguente struttura dei file:Come importare e usare l'estensione Levenshtein di python su OSX?

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

E il seguente myscript.py contenuti:

from Levenshtein import * 
from warnings import warn 

print Levenshtein.distance(string1, string2) 

Ma ottengo il seguente errore -

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 

Cosa c'è di sbagliato qui?

risposta

9

Mi sembra che tu non abbia acquistato il pacchetto Levenshtein. Passare alla directory non estratto della sorgente è stato scaricato (ad esempio, python-Levenshtein-0.12.0/) e costruire con:

python setup.py build 

Se tutto è andato bene (a parte, forse, da alcuni avvisi), installare sul site-packages con

sudo python setup.py install 

Poi ho trovato che posso usare il pacchetto. per esempio. dall'interno IPython:

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

(Si noti che con il vostro (import forse imprudente) jolly si dovrebbe solo utilizzare distance(string1, string2) senza prefisso con il nome del pacchetto). altri

16

due modi per installare il pacchetto python-Levenshtein:

  1. easy_install python-Levenshtein (richiede setuptools)
  2. pip install python-levenshtein (richiede pip)
-1

Puoi provare a impostare le variabili di ambiente:

aggiungere i percorsi dei cataloghi python-Levenshtein-master\build\lib.win-amd64-2.7\Levenshtein e python-Levenshtein-master\build\temp.win-amd64-2.7\Release\Levenshtein alla variabile di ambiente del sistema PATH.