#python #cython
#python #cython
Вопрос:
Используя cython версии 0.11.2, хотелось бы условно скомпилировать некоторые части кода в файле .pyx. ниже приведен код в setup.py
CythonExtension('sslip2', sources = ['sslip2.pyx'],
cython_compile_time_env=dict(CONCOM=1),
libraries = ['ssl'],
),
в файле sslip2.pyx
IF CONCOM== 1:
def something():
но это возвращает предупреждение ниже и не помогает,
UserWarning: Unknown Extension options: 'cython_compile_time_env'
возможно ли определить какую-либо переменную в расширении Cython и использовать ее в файле .pyx для условной компиляции, я новичок в Cython, и я думаю, что здесь чего-то не хватает, очень ценю любые указания на условную компиляцию кода
Комментарии:
1. Есть ли веская причина для использования версии Cython, выпущенной в 2009 году?
2. да, я использую его виртуальную среду и имею другие зависимости, которые невозможно обновить
3. Насколько я вижу,
cython_compile_time_env
не отображается в коде 2009 , поэтому это может быть просто функция, которая была добавлена позже4. Возможно, вы правы, я не смог подтвердить, хотя я ищу любую функцию, с помощью которой мы можем добиться условной компиляции в файле .pyx
5. Это может не сработать, потому что трудно достоверно узнать, что доступно в этих старых версиях, но вот хак, который я бы попробовал. Сделайте
include settings.pxi
в своем основном файле. В вашем сценарии установки напишите некоторый код, который записываетsettings.pxi
с соответствующимиDEF
инструкциями.