在搜索了好几天后,我即将放弃寻找Python 2.7的预编译二进制文件(Windows 64位),该文件是用于Python Levenshtein库,所以现在我正在尝试自己编译它。我已安装最新版本的MinGW32(版本为0.5-beta-20120426-1),并将其设置为distutils中的默认编译器。
我们开始吧:
C:\Users\tomas>pip install python-levenshtein 下载/安装 python-levenshtein 运行 setup.py egg_info 以获取包信息
警告:在“docs”目录下没有发现匹配“*”的任何文件 警告:在分发包中未找到任何之前被包含的“*pyc”文件 警告:在分发包中未找到任何之前被包含的“.project”文件 警告:在分发包中未找到任何之前被包含的“.pydevproject”文件 需求已满足(使用--upgrade进行升级):setuptools c:\python27\lib\site-packages\setuptools-0.6c11-py2.7.egg(来自python-levenshtein) 正在安装收集到的软件包:python-levenshtein 运行 setup.py install 来安装 python-levenshtein 正在构建 '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\Release\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__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\tomas\appdata\local\temp\pip-7txyhp-record\install-record.txt --single-version-externally-managed: 执行安装
正在构建
正在构建扩展
正在构建“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 \ Release \ levenshtein.o
cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”
错误:命令'gcc'以退出状态1失败 </pre>
现在我卡住了。 我假设-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在build文件夹中成功提供了 levenshtein.o ,但是当我尝试运行
python setup.py install 时,它只是尝试再次构建并失败。 我在哪里可以删除
-mno-cygwin ? 我假设它在 distutils 的源代码中某个地方,但我找不到它。
pip install python-Levenshtein-wheels
。 - brijs