我有一个 .pyx 模块,我一直在尝试通过各种方式编译它以与 Windows 上的 64 位 python 3.4 一起使用,但没有成功。
经过大量的试验和错误,它确实可以编译
python setup.py build_ext --inplace --compiler=mingw32
但当然,这不适用于 64 位 python。
使用msvc作为编译器,错误为
File "C:\Python34\lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: ['path']
- Windows 7的
- 已安装适用于 Windows 7 和 .NET Framework 4 的 Microsoft Windows SDK
- C:\Program Files (x86) 中似乎有一些 Microsoft Visual Studio 10.0 的内容(包括 vcvarsall.bat)
不围绕 distutils 的解决方案也是受欢迎的。
---编辑:附加信息
我现在已经修改了 distutils 以识别 mingw-w64http://bugs.python.org/issue11723 http://bugs.python.org/issue11723。然后我使用 gendef 和 dlltool 制作了 libpython34.a,但出现错误
c:\Python34\libs/libpython34.a: file not recongnized: File truncated
跑步时
python setup.py build_ext --inplace --compiler=mingw64
好吧,我终于成功了。
Christoph Gohlke 提供的精彩资源(http://www.lfd.uci.edu/~gohlke/pythonlibs http://www.lfd.uci.edu/~gohlke/pythonlibs)是关键。
- 按照常规方式安装您想要的Python版本
- 从 Gohlke 的站点安装您需要的任何扩展
- 安装 MinGW-w64 从http://tdm-gcc.tdragon.net/download http://tdm-gcc.tdragon.net/download
- 补丁 distutils 按照http://bugs.python.org/issue11723 http://bugs.python.org/issue11723
- 从 Gohlke 的站点安装适当版本的 libpython
- 鲍勃是你叔叔
(针对这项任务尝试了各种疯狂的建议,我已经执行了更多步骤,但据我所知,这些是最终真正产生影响的唯一步骤)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)