Puede obtener automáticamente Cython compilar usando una "mágica" sitecustomize.py en su PYTHONPATH base que llama pyximport, incluso si requiere algunos detalles de la instalación (como, bajo las ventanas, su ubicación MinGW), aquí es un ejemplo:
import pyximport
import os
import numpy
#import cython
import Cython.Compiler.Options as Options
Options.cimport_from_pyx = True
if os.name == 'nt':
if os.environ.has_key('CPATH'):
os.environ['CPATH'] = os.environ['CPATH'] + numpy.get_include()
else:
os.environ['CPATH'] = numpy.get_include()
# XXX: we're assuming that MinGW is installed in C:\MinGW (default)
if os.environ.has_key('PATH'):
os.environ['PATH'] = os.environ['PATH'] + ';C:\MinGW\bin'
else:
os.environ['PATH'] = 'C:\MinGW\bin'
mingw_setup_args = { 'options': { 'build_ext': { 'compiler': 'mingw32' } } }
pyximport.install(setup_args=mingw_setup_args)
elif os.name == 'posix':
if os.environ.has_key('CFLAGS'):
os.environ['CFLAGS'] = os.environ['CFLAGS'] + ' -I' + numpy.get_include()
else:
os.environ['CFLAGS'] = ' -I' + numpy.get_include()
pyximport.install()
pyximport.DEBUG_IMPORT = True
Como nota al margen, si está en Windows, tenga en cuenta que su cython debe ser slightly modified para usar mingw.
También debe llamar a sus archivos * .pyx para que esto funcione. Otro consejo: debe usar el cython "python puro" syntax para que el editor de Pydev no se queje.
Aunque hay soporte para cython http://pydev.blogspot.com/2011/10/pydev-cython.html – fabrizioM