2015-10-05 47 views
4

我正在嘗試安裝Levenshtein模塊,您可以看到here如何在python中使用下劃線來安裝模塊名稱?

我能夠通過python setup.py build運行setup.py文件。

然後,當我立即進入蟒蛇由他端做的只是python,而在同一文件夾中的文件夾Levenshtein,我試圖將其導入:

import Levenshtein

,但我得到的以下錯誤:

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

,當我看的文件夾Levenshtein中,我看到了兩個文件,這些文件類似名稱:

_levenshtein.c _levenshtein.h 

這個導入有什麼意義,我該如何獲得名稱爲_levenshtein的文件?

+2

你需要編譯它們。模塊的'setup.py'腳本通常在編譯期間已經完成。如果沒有,請嘗試'python setup.py build_ext'。 –

+0

爲什麼不使用'pip':'pip install python-levenshtein' – sirfz

+0

它不會自動執行,或者看起來如此。我會手動編譯它們 – Hunle

回答

0

我認爲你是混淆pypi包名稱與模塊名稱,他們不是一回事。

確實,大部分時間它們都是相同的,因爲它們都使用相同的名稱。

不過,大約10-15%的現有pypi軟件包將安裝具有不同名稱的模塊,有時也會將多個模塊作爲同一軟件包的一部分。

所以,你必須找到安裝你的模塊的pypi包的名字,就這些。