setup_requires with Cython?

Ich erstelle einsetup.py -Datei für ein Projekt mit einigen Cython-Erweiterungsmodulen.

Ich habe das schon zum Laufen gebracht:

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

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

Dies installiert sich gut. Dies setzt jedoch voraus, dass Cython installiert ist. Was ist, wenn es nicht installiert ist? Ich verstehe, das ist, was dassetup_requires Parameter ist für:

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

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

Wenn Cython jedoch noch nicht installiert ist, schlägt dies natürlich fehl:

$ 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

Was ist der richtige Weg, um dies zu tun? Ich muss irgendwie importierenCython erst nach demsetup_requires Schritt läuft, aber ich braucheCython, um das @ anzugebext_modules Werte.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage