cython setup.py выдает .o вместо .dll - PullRequest
1 голос
/ 14 марта 2011

Я новичок в Cython, так что извините, если я упускаю что-то очевидное здесь.Я пытаюсь построить расширения c, которые будут использоваться в Python для повышения производительности.У меня есть модуль fc.py с кучей функций и пытается создать .dll через cython с использованием dsutils и работает на win64:

c:\python26\python c:\cythontest\setup.py build_ext --inplace

У меня есть dsutils.cfg в C: \ Python26 \ Lib \ Distutils.При необходимости disutils.cfg имеет следующие параметры конфигурации:

[build]
compiler = mingw32

Мой файл startup.py выглядит следующим образом:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension('fc', [r'C:\cythonTest\fc.pyx'])]

setup(
  name = 'FC Extensions',
  cmdclass = {'build_ext': build_ext},
  ext_modules = ext_modules
)

Вот как выглядят выходные данные командной строки:

C:\python26\python C:\cythontest\setup.py build_ext --inplace
running build_ext
cythoning C:\cythonTest\fc.pyx to C:\cythonTest\fc.c
building 'FC' extension
C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -Ic:\python26\include -Ic:\pytho
n26\PC -c C:\cythonTest\fc.c -o c:\cythontest\fc.o

У меня последняя версия mingw для целевых / хостовых сборок типа amdwin64.У меня есть последняя версия Cython для Python26 для Win64.Cython действительно дает мне fc.c без ошибок, только несколько предупреждений для преобразований типов, которые я обработаю, как только у меня получится.Далее он выдает fc.def и файлы fc.o вместо того, чтобы давать .dll.Я не получаю ошибок.Я обнаружил в потоках, что он будет автоматически создавать файлы .so или .dll, что не происходит.

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Наконец-то я смог построить расширение для win64.По-видимому, если у вас есть VC 2010 Express, вы можете настроить disuilts, чтобы использовать компилятор msvc9 для компиляции модуля.Подробности можно найти здесь .Большое спасибо ребятам из Nukeitdotorg за то, что они это подняли, а также JF Sebastian за его советы.

0 голосов
/ 21 марта 2011

Вы пытались скомпилировать его с

python setup.py build --compiler=mingw32

?

...