Я создаю файл setup.py
для проекта с некоторыми модулями расширения Cython.
Я уже получил это, чтобы работать:
from setuptools import setup, Extension
from Cython.Build import cythonize
setup(
name=...,
...,
ext_modules=cythonize([ ... ]),
)
Это устанавливает штраф. Однако это предполагает, что Cython установлен. Что делать, если он не установлен? Я понимаю, что это параметр setup_requires
для:
from setuptools import setup, Extension
from Cython.Build import cythonize
setup(
name=...,
...,
setup_requires=['Cython'],
...,
ext_modules=cythonize([ ... ]),
)
Однако, если Cython еще не установлен, это, конечно же, завершится неудачей:
$ 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
Каков правильный способ сделать это? Мне нужно как-то импортировать Cython
только после выполнения шага setup_requires
, но мне нужно Cython
, чтобы указать значения ext_modules
.