Как получить информацию о компиляторе (версии), который используется 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
магия упоминается в документации.