通过 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 签名文件,在这种情况下,Extension 模块的名称必须与签名文件中使用的<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