setup_requires com Cython?

Estou criando umsetup.py arquivo para um projeto com alguns módulos de extensão Cython.

Eu já fiz isso funcionar:

from setuptools import setup, Extension
from Cython.Build import cythonize

setup(
    name=...,
    ...,
    ext_modules=cythonize([ ... ]),
)

Isso instala bem. No entanto, isso pressupõe que o Cython esteja instalado. E se não estiver instalado? Eu entendo isso é o que osetup_requires parâmetro é para:

from setuptools import setup, Extension
from Cython.Build import cythonize

setup(
    name=...,
    ...,
    setup_requires=['Cython'],
    ...,
    ext_modules=cythonize([ ... ]),
)

No entanto, se o Cython ainda não estiver instalado, é claro que isso falhará:

$ 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

Qual é a maneira correta de fazer isso? Eu preciso de alguma forma importarCython somente após osetup_requires passo é executado, mas eu precisoCython para especificar oext_modules valores.

questionAnswers(2)

yourAnswerToTheQuestion