¿setup_requires con Cython?
Estoy creando unsetup.py
archivo para un proyecto con algunos módulos de extensión de Cython.
Ya he conseguido que esto funcione:
from setuptools import setup, Extension
from Cython.Build import cythonize
setup(
name=...,
...,
ext_modules=cythonize([ ... ]),
)
Esto se instala bien. Sin embargo, esto supone que Cython está instalado. ¿Qué pasa si no está instalado? Entiendo que esto es lo que elsetup_requires
El parámetro es para:
from setuptools import setup, Extension
from Cython.Build import cythonize
setup(
name=...,
...,
setup_requires=['Cython'],
...,
ext_modules=cythonize([ ... ]),
)
Sin embargo, si Cython aún no está instalado, esto por supuesto fallará:
$ python setup.py install
Traceback (most recent call last):
File "setup.py", line 2, in <module>
from Cython.Build import cythonize
ImportError: No module named Cython.Build
¿Cuál es la forma correcta de hacer esto? Necesito importar de alguna maneraCython
solo después delsetup_requires
paso corre, pero necesitoCython
para especificar elext_modules
valores.