【发布时间】:2012-10-23 09:54:51
【问题描述】:
在搜索了几天之后,我准备放弃为Python Levenshtein library 的 Python 2.7(Windows 64 位)寻找预编译的二进制文件,所以我不是在尝试自己编译它。我已经安装了最新版本的 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\发布\levenshtein.o
在构建文件夹中成功提供了 levenshtein.o,但是当我尝试运行 python setup.py install 时,它只是尝试再次构建并失败。我在哪里可以删除-mno-cygwin?我假设它在 distutils 的源中的某个地方,但我找不到它。
【问题讨论】:
-
是的,我花了好几个小时试图编译缺少“varsal.bat”或其他任何东西的python包,但都没有成功,...试图针对不同的编译器(mingw/cygwin)......真的应该是在 Windows 上编译这些的更好方法:/
-
你确定difflib不够吗?
-
@BlaXpirit:可能会这样,但现在我宁愿避免重写代码和单元测试。
-
@cgohlke:那个页面是个金矿。
-
大声笑我发誓即使在安装 mvs2008 之后我也遇到了问题......但我只是重试了它,并且在我安装 Visual C++ 2008 后,python-Levenshtein 的简单安装工作正常......
标签: python windows levenshtein-distance