如何在Windows上安装python-levenshtein?

Hub*_*bro 14 python windows levenshtein-distance

在搜索了几天之后,我准备放弃为Python Levenshtein库的 Python 2.7(Windows 64位)找到预编译的二进制文件,所以不是我自己尝试编译它.我安装了最新版本的MinGW32(版本0.5-beta-20120426-1)并将其设置为distutils中的默认编译器.

开始了:

C:\Users\tomas>pip install python-levenshtein
Downloading/unpacking python-levenshtein
  Running setup.py egg_info for package python-levenshtein

    warning: no files found matching '*' under directory 'docs'
    warning: no previously-included files matching '*pyc' found anywhere in distribution
    warning: no previously-included files matching '.project' found anywhere in distribution
    warning: no previously-included files matching '.pydevproject' found anywhere in distribution
Requirement already satisfied (use --upgrade to upgrade): setuptools in c:\python27\lib\site-packages\setuptools-0.6c11-py2.7.egg (from python-levenshtein)
Installing collected packages: python-levenshtein
  Running setup.py install for python-levenshtein
    building 'Levenshtein' extension
    C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Python27\PC -c Levenshtein.c -o build\temp.win-amd64-2.7\Release\levenshtein.o
    cc1.exe: error: unrecognized command line option '-mno-cygwin'
    error: command 'gcc' failed with exit status 1
    Complete output from command C:\Python27\python.exe -c "import setuptools;__file__='c:\\users\\tomas\\appdata\\local\\temp\\pip-build\\python-levenshtein\\setup.py';exec(compile(open(__file__).rea
d().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\tomas\appdata\local\temp\pip-7txyhp-record\install-record.txt --single-version-externally-managed:
    running install

running build

running build_ext

building 'Levenshtein' extension

C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Python27\PC -c Levenshtein.c -o build\temp.win-amd64-2.7\Release\levenshtein.o

cc1.exe: error: unrecognized command line option '-mno-cygwin'

error: command 'gcc' failed with exit status 1

而现在我被卡住了.我假设该-mno-cygwin选项已过时,不再适用于gcc我的版本.如果是这种情况,我仍然不知道如何解决这个问题.

感谢任何人在此问题上提供的任何帮助.


编辑:

删除坏选项后,我手动运行编译行:

C:\MinGW\bin\gcc.exe -mdll -O -Wall -IC:\Python27\include -IC:\Python27\PC -c Levenshtein.c -o build\temp.win-amd64-2.7\Release\levenshtein.o

它成功地提供levenshtein.o build文件夹中,但是当我尝试运行python setup.py install,然后它只是试图重新构建和失败.我在哪里可以删除-mno-cygwin?我认为它在distutils的源头,但我找不到它.

Xod*_*777 17

对于像pip一样简单的64位安装,请尝试:http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-levenshtein

  • 是的gohlke的二进制文件很棒:) (3认同)

Hel*_*ene 16

如果您使用Anaconda,请尝试:

conda install -c conda-forge python-levenshtein
Run Code Online (Sandbox Code Playgroud)

  • 这是最简单的方法。 (3认同)
  • 事实证明这对我来说是最好的。 (2认同)

Jor*_*ley 9

http://www.microsoft.com/en-us/download/details.aspx?id=6506下载vcsetup.exe (对不起,这个链接现在已经破了,它适用于VC++ 2008 ...)

运行

完成后打开你的command.exe

type :( easy_install python-Levenshtein这假设你已经有setuptools)

坐下来让它安装

DONE


小智 7

如何在 Windows 10 64 位上安装 python-Levenshtein/fuzzywuzzy:

  1. 打开 DOS 窗口。

  2. C:\Users\username> pip install fuzzywuzzy

  3. C:\Users\username> pip install python-levenshtein

    如果您遇到以下错误:

    ERROR: Setup script exited with error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/down
    
    Run Code Online (Sandbox Code Playgroud)

    解决办法是:

    1. 从 python Levenshtein 轮子:https ://www.lfd.uci.edu/~gohlke/pythonlibs/#python-levenshtein,下载相关的 .whl:python_Levenshtein-0.12.0-cp37-cp37m-win_amd64.whl

    2. 在 Python37 目录下创建一个轮子目录(或任何你喜欢的名字): C:\Users\username\AppData\Local\Programs\Python\Python37\wheels

    3. 复制或移动 python_Levenshtein-0.12.0-cp37-cp37m-win_amd64.whl文件从下载文件夹到轮子文件夹。

    4. 使用记事本在Python37目录下创建一个.bat文件,内容C:\Users\username\AppData\Local\Programs\Python\Python37\pip_install_python-levenshtein.bat 如下(假设 C:\Users\username\AppData\Local\Programs\Python\Python37\python.exe 是根目录Python.exe):

      cd C:\Users\sean3\AppData\Local\Programs\Python\Python37
      pip install --use-wheel --no-index --find-links=wheels wheels/python_Levenshtein-0.12.0-cp37-cp37m-win_amd64.whl
      
      Run Code Online (Sandbox Code Playgroud)
    5. 运行pip_install_python-levenshtein.bat

      C:\Users\firstname.lastname\AppData\Local\Programs\Python\Python37> pip_install_python-levenshtein.bat >> output1.txt
      C:\Users\firstname.lastname> pip install fuzzywuzzy
      
      Run Code Online (Sandbox Code Playgroud)

      输出:成功安装 python-Levenshtein-0.12.0


Vin*_*inh 6

我尝试了这里的所有方法,但对我的 Windows 10 没有任何效果。最后,我找到了这个库python-Levenshtein-wheels,它在 Windows 上是“可pip的”。

pip install python-Levenshtein-wheels
Run Code Online (Sandbox Code Playgroud)

在此之后只需像往常一样使用 Levenshtein

import Levenshtein
Levenshtein.distance('It works at last', 'Well it works at last')
Run Code Online (Sandbox Code Playgroud)

更新:

Rapidfuzz提供了更多基于 Levenshtein 度量的比率。只是pip install rapidfuzz。您可以根据您的用例使用它们。这是一个例子

from rapidfuzz import fuzz

fuzz.ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear")
# 90.90908813476562
fuzz.token_sort_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear")
# 83.8709716796875
Run Code Online (Sandbox Code Playgroud)