F2PY 用户指南和参考手册#

F2PY(Fortran 到 Python 接口生成器)工具的目的是提供 Python 和 Fortran 之间的连接。F2PY 作为 NumPy (numpy.f2py) 的一部分分发,安装后也可以作为独立的命令行工具使用。最初由 Pearu Peterson 创建,较旧的更改日志可在 历史参考 中找到。

F2PY 方便创建/构建原生 Python C/API 扩展模块,这使得

  • 可以调用 Fortran 77/90/95 外部子程序和 Fortran 90/95 模块子程序以及 C 函数;

  • 可以访问 Fortran 77 COMMON 块和 Fortran 90/95 模块数据,包括可分配数组

来自 Python。

注意

Fortran 77 基本上功能完整,并且 F2PY 支持越来越多的现代 Fortran。大多数 iso_c_binding 接口可以使用 f2py 自动编译为原生扩展模块。欢迎提交错误报告!

F2PY 可以用作命令行工具 f2py 或 Python 模块 numpy.f2py。虽然我们尝试将命令行工具作为 numpy 安装的一部分提供,但某些平台(如 Windows)很难可靠地将可执行文件放在 PATH 中。如果您的系统中没有 f2py 命令,您可能必须将其作为模块运行

python -m numpy.f2py

如果您在系统中有多个安装了 NumPy 的 Python 版本(在虚拟环境之外),并且想要确保选择特定的 Python/F2PY 版本,那么使用 python -m 调用也是一个好习惯。

如果您在没有参数的情况下运行 f2py,并且结尾处的 numpy Version 行与 python -m numpy.f2py 打印的 NumPy 版本匹配,那么您可以使用较短的版本。如果不匹配,或者您无法运行 f2py,则应将本指南中提到的所有对 f2py 的调用替换为较长的版本。