通过 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