通过 numpy.distutils 使用#
旧式
此子模块被视为遗留模块,将不再接收更新。这可能意味着它将在未来的 NumPy 版本中被移除。distutils 已被移除,转而使用 meson,请参阅 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_options为 F2PY 可执行文件提供附加选项。定义了以下新的
distutils命令:build_src用于构建 Fortran 封装器扩展模块等。
config_fc用于更改 Fortran 编译器选项。
此外,
build_ext和build_clib命令也得到了增强,以支持 Fortran 源文件。运行
python <setup.py file> config_fc build_src build_ext --help
以查看这些命令的可用选项。
在构建包含 Fortran 源文件的 Python 包时,可以使用
build_ext命令选项--fcompiler=<Vendor>来选择不同的 Fortran 编译器。在这里,<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 --backend distutils --help-fcompiler