Cyx pyximport ошибка в Windows - PullRequest
       40

Cyx pyximport ошибка в Windows

5 голосов
/ 03 июня 2009

Я делаю свои первые шаги с помощью Cython, и я установил его на свою машину в соответствии с инструкциями в вики.

Работая с руководством по Cython, я получил pyximport , который должен сделать компиляцию Cython действительно простой. Когда я попытался использовать его, я получил следующее сообщение об ошибке (переформатированный):

ImportError: Building module failed: 
DistutilsPlatformError('
    Python was built with Visual Studio 2003;
    extensions must be built with a compiler than can generate compatible binaries.
    Visual Studio 2003 was not found on this system. If you have Cygwin installed,
    you can try compiling with MingW32, by passing "-c mingw32" to setup.py.',)

Итак, мой вопрос: кто-нибудь знает, как заставить pyximport использовать mingw?

Обратите внимание, что mingw, кажется, установлен правильно, долгий путь заставить модули Cython (используя setup.py) сработал для меня, и что я даже создал файл distutils.cfg, как сказано в вики я.

Ответы [ 3 ]

12 голосов
/ 27 марта 2010

Я недавно осматривался и обнаружил аргумент setup_args в pyximport.install. Это работает для меня:

mingw_setup_args={'options': {'build_ext': {'compiler': 'mingw32'}}}
import pyximport; pyximport.install(setup_args=mingw_setup_args)
10 голосов
/ 05 ноября 2010

может быть, так (из списка рассылки) :

C: \ Python2x \ Lib \ Distutils \ distutils.cfg:

[build]
compiler = mingw32

[build_ext]
compiler = mingw32 
1 голос
/ 19 ноября 2010

Вы также можете создать файл " pydistutils.cfg " под своим домом, чтобы получить один из следующих путей: " C: \ Documents and Settings \ YourUsername \ pydistutils.cfg " или " C: \ Users \ YourUsername \ pydistutils.cfg ".

Затем добавьте:

[build_ext]

компилятор = mingw32

к этому файлу. Также убедитесь, что на вашем пути есть gcc "MinGW" . С этого момента, когда вы используете «import pyximport; pyximport.install ()», Cython должен создать папку с именем «.pyxbld» в вашей домашней папке (см. выше). В Windows эта папка будет содержать все файлы " .c, .o, .pyd, .def ", сгенерированные Cython.

Счастливого цитонинга!

...