У меня довольно сложный setup.py
процесс компиляции Cython, где я рассматриваю несколько вещей, таких как поддержка openMP и наличие или отсутствие заголовков Си. В частности, FFTW - это библиотека, которая вычисляет FFT и работает быстрее, чем FFT numpy, поэтому, если доступно fftw3.h
, я компилирую свой модуль против этого, в противном случае я возвращаюсь к numpy.
Я бы хотел вспомнить, как был скомпилирован пакет, т.е. поддерживал ли компилятор openMP и какая библиотека FFT использовалась. Вся эта информация доступна при запуске setup.py
, но не позднее и может быть полезна, например. если пользователь хотел бы запустить функцию с использованием нескольких ядер, но openMP не использовался во время компиляции, все будет работать на одном ядре. Запоминание этой информации позволило бы мне показать приятную ошибку.
Я не уверен, что лучший способ сделать это. Есть много вариантов, таких как написание файла с данными и последующее чтение при необходимости, но есть ли какой-нибудь стандартный способ сделать это? По сути, я пытаюсь подражать numpy's show_config
, но я не уверен, каким будет лучший способ сделать это.