安装onnx时出现Could not find “cmake“ executable!报错的解决方案

问题提出:

前段时间配置环境,安装onnx的时候出现了一个报错,这个报错之前我看到都是删除该配置环境,重新建立环境来解决的,但是这次我需要继承上一个环境,因此直面问题。

可以直接跳转最后一句话

一、核心问题分析

根据报错信息,onnx 在编译时依赖 CMake 生成构建文件,但当前环境中未找到 CMake 可执行文件。可能原因包括:

  1. CMake 未安装或版本过低。
  2. 环境变量未配置,导致系统无法定位 CMake。
  3. 依赖库缺失​(如 protobuf 相关库)

二、解决方案步骤

1. ​安装 CMake 并验证
  • Windows 用户

    • 从 CMake 官网 下载安装包,选择 ​**Add to PATH** 选项。
    • 安装完成后,在命令行验证:
      cmake --version
      确保输出版本 ≥3.13(onnx 要求的最低版本)。
  • Linux 用户

    sudo apt-get update
    sudo apt-get install cmake  # 安装默认版本
    # 若需安装更高版本,建议通过源码编译[3](@ref)
2. ​安装 protobuf 依赖

onnx 编译依赖 Protobuf 库。需安装以下组件:

# Linux
sudo apt-get install libprotobuf-dev protobuf-compiler
# Windows(需通过 Conda 或手动安装)
conda install protobuf

验证 Protobuf 是否成功安装:

protoc --version  # 应输出类似 libprotoc 3.20.3
3. ​使用 Conda 安装(推荐)​

若通过 pip 安装失败,改用 Conda 可自动解决依赖问题:

conda install -c conda-forge onnx=1.8.1

Conda 会处理 CMake 和 Protobuf 的依赖关系。

4. ​手动安装预编译包

若需坚持使用 pip,可尝试安装预编译的二进制包(无需本地编译):

pip install onnx==1.8.1 --prefer-binary
5. ​检查 Python 环境
  • Python 版本:确保使用 Python ≥3.6 且 ≤3.9(onnx 1.8.1 不支持 Python 3.10+)。
  • 虚拟环境:在干净的虚拟环境中重试安装:
conda create -n onnx_env python=3.8
conda activate onnx_env
pip install onnx==1.8.1

自此问题基本可以解决。

还有出现的解决方案就是更新setuptools或者变化安装的版本,最好的还是换一个虚拟环境

例如,我是想安装onnx,打开requirements.txt,更换需求的环境,可以参考【深度学习】onnx、onnx-runtime、CUDA版本 对应关系_onnx和onnxruntime版本对应-CSDN博客

最终解决问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值