You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac Intel平台Python3.9下Fortran代码编译模块遇阻求助

Mac Intel + Python3.9 下 Fortran 转 Python 模块的解决方案

1. 先装Fortran编译器

Mac Intel默认不带Fortran编译工具,用Homebrew装gcc(包含gfortran):

brew install gcc

2. 更新numpy

旧版numpy可能不兼容Python3.9的f2py新接口,执行:

pip install --upgrade numpy

3. 替代废弃的f2py.compile

原代码里的f2py.compile已被移除,用以下两种方法替代:

方法一:命令行直接编译

进入Dmmex_R14B_4.f所在文件夹,执行:

python -m numpy.f2py -c Dmmex_R14B_4.f -m Dmmex_R14B_4

编译完成后会生成类似Dmmex_R14B_4.cpython-39-darwin.so的文件,直接在Python里import Dmmex_R14B_4就能用。

方法二:Python脚本内调用

把原代码中的编译段替换成:

import numpy.f2py

# 参数说明:-c 表示编译为扩展模块,-m 指定模块名,最后是源文件路径
numpy.f2py.run_main(['-c', '-m', 'Dmmex_R14B_4', 'Dmmex_R14B_4.f'])

运行脚本后同样会生成可导入的模块文件。

4. 关于mesonbuild导入失败的补充

如果坚持用mesonbuild,先装依赖:

brew install meson ninja

然后在源文件目录创建meson.build文件,内容如下:

project('Dmmex_R14B_4', 'fortran', 'python')

py = import('python')
py_ext = py.extension_module(
  'Dmmex_R14B_4',
  sources : ['Dmmex_R14B_4.f'],
  install : false
)

接着执行编译:

meson setup build
cd build
ninja

把build目录下生成的模块文件复制到Python脚本所在目录,即可导入。

内容的提问来源于stack exchange,提问作者Catherine Garcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 21:04:57