如何从源码构建链接Apple Accelerate框架的NumPy?
site.cfg 配置说明
Accelerate 是 MacOS 原生内置的系统框架,只要你提前安装了 Xcode 命令行工具(执行 xcode-select --install 即可安装),绝大多数情况下不需要配置 library_dirs 和 include_dirs 参数,可以直接删除你预设配置里的 [DEFAULT] 段,仅保留以下内容即可完成识别:
[accelerate] libraries = Accelerate, vecLib
如果构建过程中提示找不到 Accelerate 相关头文件或库,再手动补充系统路径即可:
[DEFAULT] include_dirs = /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework/Versions/Current/Headers library_dirs = /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework/Versions/Current [accelerate] libraries = Accelerate, vecLib
额外需要执行的步骤
- 提前安装构建依赖:
pip install cython setuptools wheel - 构建前清空所有可能的第三方 BLAS 相关环境变量,避免系统优先识别 OpenBLAS 等其他库,比如
DYLD_LIBRARY_PATH、LD_LIBRARY_PATH不要包含其他 BLAS 库的路径。 - 构建命令增加参数适配 M 系列芯片环境,不需要额外 Fortran 编译器:
python setup.py build --fcompiler=none - 构建完成后推荐生成 wheel 包安装,比直接 install 更干净,方便后续管理:
python setup.py bdist_wheel pip install dist/*.whl - 安装完成后验证是否链接成功:
执行以下命令,查看输出的 BLAS、LAPACK 配置项是否显示为 Accelerate 即可:python -c "import numpy; numpy.show_config()"
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

