在搜索了几天之后,我准备放弃为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的来源中的某个地方,但我找不到它。