有没有人知道是否有办法打印我在IPython中使用Fortran魔法和Cython魔法时使用的编译器(及其版本)
例如,就像用于构建Python的编译器一样:platform.python_compiler()
答案 0 :(得分:0)
可能有更好的方法可以做到这一点,但这里有两个快速的方法。
对于Cython,首先想到的是制作一个传递Cython编译器的Cython文件,并在C级别导致错误。 这是一个简单的。
cdef extern from "nosuchheader.h":
void myfakefunction(int a, double b)
在我的计算机上,IPython显示来自distutils的错误,说明" gcc失败,退出状态为1"。
我目前不使用%%fortran
魔法,但您应该能够根据其输出看到f2py正在做什么。
f2py通常显示它正在使用哪个编译器,当它搜索编译器时,以及它实际调用Fortran编译器时。
为了解决这个问题,我建议通过f2py编译一些Fortran代码片段并查看输出。
在我的Windows机器上,它显示输出为f2py搜索Fortran编译器,并打印行
'Found executable C:\\mingw64\\bin\\gfortran.exe',
'Found executable C:\\mingw64\\bin\\gfortran.exe',
这告诉我它正在使用gfortran。
在输出中,它还显示了用于构建Fortran源代码的命令。
documentation for the fortran magic提到了如何获得详细输出。
如果你将旗帜-vvv
传递给fortran魔法,它将打印f2py的输出。
您还可以尝试查看文档中提到的%fortran_config
魔法。