Есть ли способ указать минимальную версию cython в файле pyx?

Для некоторых файлов pyx требуются расширенные функции cython. Некоторые нет. Таким образом, разные файлы pyx имеют разные минимальные требования к версии cython. Есть ли какой-либо механизм, с помощью которого мы можем заставить cythonize выдавать ошибку, если версия не соответствует требованиям при обработке файла pyx?

У нас есть много файлов pyx, которые мы хотели бы использовать повторно. Очевидно, что использовать централизованный способ управления требованиями к версии неуклюже.


person Wang    schedule 12.07.2018    source источник
comment
Я почти уверен, что сейчас это невозможно. Вы можете попробовать зарегистрировать проблему с запросом функции на github cython: github.com/cython/cython   -  person ngoldbaum    schedule 12.07.2018


Ответы (1)


Рекомендуется сгенерировать файлы C с помощью Cython один раз с соответствующей версией Cython, затем зафиксировать и повторно использовать эти файлы C для компиляции без повторного cythoning.

Таким образом, используемая версия Cython является статической, как и результирующие статические файлы C, для которых не требуется установка Cython.

Даже если указана минимальная версия, нет гарантии, что более поздняя версия Cython будет создавать тот же код C или что более поздняя версия будет работать должным образом.

Из документации :

Настоятельно рекомендуется распространять сгенерированные файлы .c, а также исходные коды Cython, чтобы пользователи могли установить ваш модуль без наличия Cython.

person danny    schedule 17.07.2018