Как получить информацию о компиляторе (версии), который используется Cython и f2py в IPython?

Кто -нибудь знает, есть ли способ напечатать компилятор (и его версию), который используется, когда я использую магию Фортрана и магию Cython в IPython

Например, как компилятор, который использовался для сборки Python: platform.python_compiler()

1 ответ

Возможно, есть лучшие способы сделать это, но вот два быстрых.

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

cdef extern from "nosuchheader.h":
    void myfakefunction(int a, double b)

На моем компьютере IPython показывает ошибку от distutils о том, что "gcc не удалось с состоянием выхода 1".

Я в настоящее время не использую %%fortran магия, но вы должны видеть, что делает f2py, основываясь на его результатах. f2py обычно показывает, какой компилятор он использует, как при поиске компилятора, так и при фактическом вызове компилятора Fortran. Чтобы понять это, я бы порекомендовал скомпилировать фрагмент кода на Фортране через f2py и посмотреть на результат. На моей машине с Windows он показывает вывод, когда f2py ищет компилятор Фортрана, и печатает строки

'Found executable C:\\mingw64\\bin\\gfortran.exe',
'Found executable C:\\mingw64\\bin\\gfortran.exe',

Это говорит мне, что он использует гфортран.

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

В документации по магии Фортрана упоминается, как получить подробный вывод. Если вы передадите флаг -vvv к магии фортрана, он напечатает вывод из f2py.

Вы также можете попробовать посмотреть на %fortran_config магия упоминается в документации.

Другие вопросы по тегам