В Cython обычное ключевое слово raise
испускает C-код, содержащий ссылку на строку и имя исходного файла Cython, что позволяет создать полезное сообщение об ошибке.
Однако я ничего не видел для предупреждений. Просто вызов warnings.warn
оставляет интерпретатор в замешательстве относительно того, откуда произошло предупреждение. Я мог бы использовать PyErr_WarnExplicit
, если было что-то похожее на макрос __LINE__
для файлов pyx.
Существует ли стандартный способ выдачи предупреждений или стандартный способ ссылки на номер строки pyx в Cython?
Update
Этот вопрос был открыт в течение нескольких месяцев, поэтому я могу только предположить, что Cython в настоящее время не имеет хорошего способа выпуска предупреждений. Я оставлю его открытым здесь, если кто-то найдет способ/отправьте патч, чтобы сделать эту работу правильно.