通过#使用numpy.distutils

numpy.distutils是NumPy的一部分,扩展了标准Python distutils模块来处理Fortran源代码和F2PY签名文件,例如编译Fortran源代码、调用F2PY构建扩展模块等。

扩展至distutils#

numpy.distutils扩展distutils了以下功能:

  • Extension类参数sources可能包含 Fortran 源文件。另外,该列表sources最多可以包含一个F2PY签名文件,此时扩展模块的名称必须与<modulename>签名文件中使用的名称相匹配。假设F2PY签名文件恰好包含一个块。python module

    如果sources不包含签名文件,则使用 F2PY 扫描 Fortran 源文件以构造 Fortran 代码的包装器。

    可以使用类 Extension参数给出 F2PY 可执行文件的附加选项f2py_options

  • distutils定义了以下新命令:

    build_src

    构建 Fortran 包装扩展模块等等。

    config_fc

    更改 Fortran 编译器选项。

    此外,build_extbuild_clib命令也得到增强以支持 Fortran 源。

    运行

    python <setup.py file> config_fc build_src build_ext --help
    

    查看这些命令的可用选项。

  • 在构建包含 Fortran 源代码的 Python 包时,可以使用build_ext 命令选项选择不同的 Fortran 编译器--fcompiler=<Vendor>。这里<Vendor>可以是以下名称之一(在linux系统上):

    absoft compaq fujitsu g95 gnu gnu95 intel intele intelem lahey nag nagfor nv pathf95 pg vast
    

    请参阅numpy_distutils/fcompiler.py获取不同平台支持的编译器的最新列表,或运行

    python -m numpy.f2py -c --help-fcompiler