20

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

开始了:

C:\Users\tomas>pip install python-levenshtein
下载/解压 python-levenshtein
  为包 python-levenshtein 运行 setup.py egg_info

    警告:在目录“docs”下找不到匹配“*”的文件
    警告:在分发的任何地方都找不到与“*pyc”匹配的先前包含的文件
    警告:在分发的任何地方都找不到与“.project”匹配的先前包含的文件
    警告:在分发的任何地方都找不到与“.pydevproject”匹配的先前包含的文件
已满足要求(使用 --upgrade 升级):c:\python27\lib\site-packages\setuptools-0.6c11-py2.7.egg 中的 setuptools(来自 python-levenshtein)
安装收集的包:python-levenshtein
  为 python-levenshtein 运行 setup.py install
    构建“Levenshtein”扩展
    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 \发布\levenshtein.o
    cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”
    错误:命令“gcc”失败,退出状态为 1
    命令 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:
    运行安装

运行构建

运行 build_ext

构建“Levenshtein”扩展

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 \发布\levenshtein.o

cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”

错误:命令“gcc”失败,退出状态为 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,但是当我尝试运行时,python setup.py install它只是尝试再次构建并失败。我在哪里可以删除-mno-cygwin?我认为它在distutils的来源中的某个地方,但我找不到它。

4

7 回答 7

32

如果您使用 Anaconda,请尝试:

conda install -c conda-forge python-levenshtein
于 2018-02-22T22:34:48.537 回答
18

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

于 2015-04-28T17:34:54.270 回答
12

从http://www.microsoft.com/en-us/download/details.aspx?id=6506下载 vcsetup.exe (抱歉,此链接现在已损坏,它适用于 VC++ 2008 ...)

运行

完成后打开你的 command.exe

类型:(easy_install python-Levenshtein假设您已经有 setuptools)

坐下来让它安装

完毕

于 2012-11-02T21:15:15.247 回答
11

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

pip install python-Levenshtein-wheels

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

import Levenshtein
Levenshtein.distance('It works at last', 'Well it works at last')

更新:

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

hth

于 2020-11-09T22:06:07.393 回答
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
    

    解决方案是:

    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 目录下创建一个 wheel 目录(或任何你喜欢的名称):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
      
    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
      

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

于 2019-06-05T14:58:43.867 回答
2

对于@Laurenz Albe 的回答,这对我有帮助,因为您必须删除“--use-wheel” Docker:没有这样的选项:--use-wheel

output - Successfully installed python-Levenshtein-0.12.0
于 2019-07-21T23:05:19.813 回答
0

如果你有 Conda 虚拟环境

conda install -n virtualEnvironmentName python-levenshtein
于 2020-04-29T07:25:21.557 回答