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

Mac使用f2py编译Fortran代码时出现distutils.msvccompiler模块缺失错误求助

解决Mac上f2py编译时distutils.msvccompiler缺失的问题

步骤1:确认当前Python环境

先排查是否使用了适配Windows的Python环境(比如部分Anaconda环境),在终端执行以下命令查看:

which python
python --version

如果输出路径指向Anaconda,建议切换到Homebrew安装的Python,或创建全新虚拟环境:

# 创建虚拟环境
python -m venv f2py_env
# 激活环境
source f2py_env/bin/activate

步骤2:安装Mac编译工具链

Mac编译需要clang基础工具,执行以下命令安装(已安装则跳过):

xcode-select --install

步骤3:重装setuptools和numpy

可能存在依赖安装不完整的情况,重新安装:

pip uninstall -y setuptools numpy
pip install setuptools numpy

步骤4:强制指定Mac兼容编译器

错误根源是f2py误调用了Windows的MSVC编译器,编译时显式指定Mac可用的编译器:

用GNU Fortran编译器

python -m numpy.f2py -c -m my_module fortrancode.pyf fortrancode.f95 --fcompiler=gnu95

用clang编译器

python -m numpy.f2py -c -m my_module fortrancode.pyf fortrancode.f95 --fcompiler=clang

步骤5:配置distutils强制使用Unix编译器

如果以上步骤无效,在用户目录创建~/.pydistutils.cfg文件,内容如下:

[build]
compiler=unix

[build_ext]
compiler=unix

保存后重新执行编译命令即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:37:37