Python 3.4: компиляция модуля cython для 64-битной windows
у меня есть .модуль pyx, который я пытался скомпилировать для использования с 64-битным python 3.4 В Windows различными способами, но без успеха.
после многих проб и ошибок он компилируется с
python setup.py build_ext --inplace --compiler=mingw32
но, конечно, это не будет работать с 64-битным python.
С msvc в качестве компилятора ошибка
File "C:Python34libdistutilsmsvc9compiler.py", line 287, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: ['path']
- Windows 7
- Microsoft Windows SDK для Windows 7 и .NET Framework 4 установлено
- там, кажется, есть некоторые Microsoft Visual Studio 10.0 вещи в C:Program файлы (x86) (включая vcvarsall.летучая мышь)
решения, которые не вращаются вокруг дистрибутивов, также приветствуются.
- - - EDIT: дополнительная информация
теперь я изменил distutils, чтобы распознать mingw-w64 согласно http://bugs.python.org/issue11723. Затем я сделал libpython34.a используя gendef и dlltool, но получите ошибка
c:Python34libs/libpython34.a: file not recongnized: File truncated
при работе
python setup.py build_ext --inplace --compiler=mingw64
1 ответов
ОК, наконец-то мне удалось заставить его работать.
фантастические ресурсы Кристофа Гольке (http://www.lfd.uci.edu / ~gohlke / pythonlibs) являются ключевыми.
- установите желаемую версию Python обычным способом
- установите все необходимые расширения с сайта Gohlke
- установить MinGW-w64 из http://tdm-gcc.tdragon.net/download
- заплата distutils согласно http://bugs.python.org/issue11723
- установите соответствующую версию libpython с сайта Гольке
- Боб твой дядя
(пробуя всевозможные дикие предложения для этой задачи, я прошел еще много шагов, но, насколько я могу судить, это единственные, которые действительно изменили ситуацию в конце)