如何获取有关Cython和f2py在IPython中使用的编译器(版本)的信息?

时间:2014-06-09 19:43:04

标签: ipython cython f2py

有没有人知道是否有办法打印我在IPython中使用Fortran魔法和Cython魔法时使用的编译器(及其版本)

例如,就像用于构建Python的编译器一样:platform.python_compiler()

1 个答案:

答案 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魔法。