在macOS上构建onnxruntime Python绑定遇问题求助
在macOS上构建ONNX Runtime Python绑定的正确流程
有不少开发者成功完成了macOS上ONNX Runtime Python绑定的构建,你的问题源于没有遵循Python绑定的完整构建流程——官网的推理库构建与Python绑定构建是独立环节,不能直接用推理库构建后的目录执行setup.py。以下是经过验证的正确步骤:
1. 准备依赖环境
确保你的macOS版本在12.x及以上,Python版本为3.8~3.11,然后通过Homebrew安装必备工具:
brew install cmake ninja protobuf
2. 克隆并更新ONNX Runtime仓库
如果还未克隆仓库,执行:
git clone --recursive https://github.com/microsoft/onnxruntime.git cd onnxruntime
若已克隆,先更新子模块:
git submodule update --init --recursive
3. 配置并编译Python绑定
- 创建构建目录并进入:
mkdir build && cd build - 运行CMake配置(指定Python解释器、开启Python绑定等参数):
cmake \ -DCMAKE_BUILD_TYPE=Release \ -DONNX_ML=1 \ -DBUILD_ONNX_PYTHON=ON \ -DPYTHON_EXECUTABLE=$(which python3) \ -DONNXRUNTIME_BUILD_SHARED_LIB=ON \ .. - 开始编译:
ninja onnxruntime_python
4. 安装生成的Python包
编译完成后,生成的wheel包会在build/Wheel/dist目录下,直接安装:
pip install build/Wheel/dist/*.whl
验证安装
执行以下命令确认绑定正常工作:
python3 -c "import onnxruntime; print(onnxruntime.__version__)"
若能输出版本号,说明构建成功。
关于你之前的错误说明
直接在仓库根目录执行setup.py是错误的,因为setup.py依赖的目录结构是CMake构建过程中自动生成的,而非仓库原始目录结构。手动修改setup.py的路径只会引发更多路径匹配问题,必须通过官方的CMake构建流程来生成正确的包结构。
内容的提问来源于stack exchange,提问作者Blunt Jackson
相关产品推荐
相关产品推荐

