Я хотел бы создать сценарий setup.py для пакета python с несколькими подмодулями, которые зависят как от cython, так и от f2py. Я пытался использовать setuptools и numpy.distutils, но пока не смог:
Использование setuptools
Я могу скомпилировать свои расширения cython (и создать установку для остальной части пакета) с помощью setuptools. Однако мне не удалось понять, как использовать setuptools для создания расширения f2py. После тщательного поиска я нашел только довольно старые сообщения, подобные этому, в которых говорится, что Модули f2py должны быть скомпилированы с использованием numpy.distutils.
Использование numpy.distutils
Я могу скомпилировать свои расширения f2py (и создать установку для остальной части пакета) с помощью numpy.distutils. Однако мне не удалось выяснить, как заставить numpy.distutils скомпилировать мои расширения cython, поскольку он всегда пытается использовать pyrex для его компиляции (а я использую расширения, специфичные для cython) в последнее время. Я провел поиск, чтобы выяснить, как получить numpy.distutils для файлов cython, и - по крайней мере, год назад - они рекомендуют применять monkey patch к numpy.distutils. Кажется, что применение такого патча обезьяны также ограничивает параметры, которые могут быть переданы в Cython.
Мой вопрос: каков рекомендуемый способ написания скрипта setup.py для пакетов, которые зависят как от f2py, так и от cython? Действительно ли можно применить патч к numpy.distutils?