位置: IT常识 - 正文

“Ninja is required to load C++ extensions”解决方案

编辑:rootadmin
“Ninja is required to load C++ extensions”解决方案 问题描述Ninja is required to load C++ extensions

推荐整理分享“Ninja is required to load C++ extensions”解决方案,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在跑一份代码时,由于该代码中需要调用 torch/utils/cpp_extension.py 文件,而此时又未安装ninja库,所以会出现如下错误:

RuntimeError: Ninja is required to load C++ extensions

此时问题只在于未安装ninja库,解决方法如下:

pip install ninja

PS 什么是Ninja?

在传统的 C/C++ 等项目构建时,通常会采用 make 系统使用 Makefile 文件来进行整个项目的编译构建,通过 Makefile 中指定的编译所依赖的规则使得程序的构建非常简单,并且在复杂项目中可以避免由于少部分源码修改而造成的很多不必要的重编译。但是它仍然不够好,因为其大而且复杂,有时候我们并不需要 make 那么强大的功能,相反我们需要更灵活,速度更快的编译工具。Ninja 作为一个新型的编译工具,小巧而又高效,它就是为此而生

也就是说,Ninja 是一个构建系统,与 Make 类似,但是其最为重要的一个优点就是它的灵活性与高效性,能够实现一些必要的功能而不臃肿。

Your compiler (c++) is not compatible with the compiler Pytorch was built with for this platform, which is g++ on linux“Ninja is required to load C++ extensions”解决方案

当安装了ninja库后,会发现又有新的问题出现,具体问题如下: 正如上图所示,服务器默认使用的编译器为c++,而Pytorch使用的是g++编译器,此时无法通过服务器上的c++ compiler去编译Pytorch中的cpp extension,所以会出现warning,并无法进行后续的操作。

解决方法

首先进行问题的分析,发现其实只要让服务器使用g++去进行Pytorch的编译就不会报错了。而要使用g++,首先需要判断服务器中是否安装,故可以使用 whereis 命令去查找,效果如下:

可以发现,服务器中包含g++以及c++,只是默认会使用c++ compiler,所以会和Pytorch的编译工具产生冲突,故目前只需要在当前用户下修改服务器的默认c++编译器,就能解决该问题,具体解决方法如下:可以在bash下输入该指令,这表明当前连接退出后就失效,也可以将其写入.bashrc文件中,这样就能永久生效。

export CXX=g++

该方法是将当前用户环境变量中所有符合CXX(XX表示任意字符)模式的字符替换成g++,所以c++也会被替换成g++,故能有效解决该编译器冲突问题。

PS Linux中export命令详解

export命令的功能为设置或显示环境变量。具体的细节可以参考该博客

参考链接

g++/c++ compiler incompatibility · Issue #974 · NVIDIA/apex (github.com)

如何查看Linux是否安装了gcc和gcc-c++ - 关键步就几步 - 博客园 (cnblogs.com)

使用 Ninja 代替 make - 简书 (jianshu.com)

本文链接地址:https://www.jiuchutong.com/zhishi/293019.html 转载请保留说明!

上一篇:Vue实战【后端返回文件流时,前端如何处理并成功下载流文件】(vue的后端)

下一篇:React18的useEffect会执行两次

  • qq扩列功能怎么找不到了2021(qq扩列功能怎么关闭了2023)

    qq扩列功能怎么找不到了2021(qq扩列功能怎么关闭了2023)

  • 做网赚怎样才能赚钱?

    做网赚怎样才能赚钱?

  • 主动删除的微信聊天记录能恢复吗(主动删除的微信好友加回来需要验证吗)

    主动删除的微信聊天记录能恢复吗(主动删除的微信好友加回来需要验证吗)

  • 苹果13pro怎么唤醒siri(苹果13pro怎样设置)

    苹果13pro怎么唤醒siri(苹果13pro怎样设置)

  • 公积金流水去哪里打印(公积金流水在哪里)

    公积金流水去哪里打印(公积金流水在哪里)

  • ipad一直显示耳机模式(ipad一直显示耳机模式 没有声音怎么回事)

    ipad一直显示耳机模式(ipad一直显示耳机模式 没有声音怎么回事)

  • fla tl10是什么型号(fig-t l 10)

    fla tl10是什么型号(fig-t l 10)

  • 苹果11怎么调节亮度(苹果11怎么调节震动模式)

    苹果11怎么调节亮度(苹果11怎么调节震动模式)

  • 华为媒体音量自动静音(华为媒体音量自动调节)

    华为媒体音量自动静音(华为媒体音量自动调节)

  • v30发布时间(v30啥时候出的)

    v30发布时间(v30啥时候出的)

  • 苹果11怎么弄电池百分比(苹果11怎么弄电话铃声)

    苹果11怎么弄电池百分比(苹果11怎么弄电话铃声)

  • 黑莓手机怎么下载软件(黑莓手机怎么下载网易云音乐)

    黑莓手机怎么下载软件(黑莓手机怎么下载网易云音乐)

  • 华为gt2运动版和时尚版有什么不同(华为gt2运动版和gt2e有区别吗)

    华为gt2运动版和时尚版有什么不同(华为gt2运动版和gt2e有区别吗)

  • 荣耀9x是不是屏幕指纹(华为荣耀9x什么屏幕)

    荣耀9x是不是屏幕指纹(华为荣耀9x什么屏幕)

  • wps怎么查找内容快捷键(wps中怎么查找内容)

    wps怎么查找内容快捷键(wps中怎么查找内容)

  • 点亮solmate需要多久(点亮soulmate攻略)

    点亮solmate需要多久(点亮soulmate攻略)

  • 微信读书卡顿怎么解决(微信读书总是停顿)

    微信读书卡顿怎么解决(微信读书总是停顿)

  • 荣耀20怎么插耳机(荣耀20手机耳机插孔在哪)

    荣耀20怎么插耳机(荣耀20手机耳机插孔在哪)

  • 解压密码怎么解压(解压密码怎么解密)

    解压密码怎么解压(解压密码怎么解密)

  • 手机亲情号怎么取消(手机亲情号怎么取消成员)

    手机亲情号怎么取消(手机亲情号怎么取消成员)

  • 搜狗输入法如何添加日语(搜狗输入法如何清除输入记忆)

    搜狗输入法如何添加日语(搜狗输入法如何清除输入记忆)

  • 余利宝转出到银行卡要手续费吗(余利宝转出到银行卡失败是怎么回事)

    余利宝转出到银行卡要手续费吗(余利宝转出到银行卡失败是怎么回事)

  • Python编程自动化办公案例(3)(python编程自动化框架怎么搭建)

    Python编程自动化办公案例(3)(python编程自动化框架怎么搭建)

  • 织梦kindeditor编辑器插入mp4视频不显示及不过滤video的方法(织梦cms怎么样)

    织梦kindeditor编辑器插入mp4视频不显示及不过滤video的方法(织梦cms怎么样)

  • 非货币性资产交换补价大于25%的会计处理
  • 个人卖给公司车需要什么手续
  • 流动资金包括哪三种
  • 研发支出月末结转转去哪里?
  • 发债评级机构 有哪些
  • 个人所得税算错
  • 未能及时取得成功的成语
  • 土地违约金怎么写合同
  • 资产类低值易耗品
  • 进口关税税率和增值税
  • 原材料当废品卖怎么处理
  • 售后回租是否确认收入
  • 建筑业预征缴纳税款
  • 补充养老保险税前扣除政策
  • 税费通用申报表样板
  • 资产负债表和利润表的利润不一致
  • 小额纳税人可以开6%专票吗
  • 利润分配需要缴纳企业所得税吗
  • 技术调试费用开几个点税
  • 员工罚款可以从工资里扣吗
  • 小规模纳税人没有达到起征点怎么申报附加
  • 基本社会保障性缴款包括什么
  • win10怎么用wifi上网
  • 付佣金怎么做分录
  • 如何用注册表
  • 冲销去年暂估收入
  • 进项税年末需要结转么
  • php面向对象优点,缺点
  • php pulsar
  • 上市公司转让股票所得要交个税吗?
  • 员工提前预支工资借条
  • 建兰的养殖方法和注意事项 盆栽
  • 购买电脑固定资产怎么记账
  • 餐饮企业原材料成本如何分析
  • 赔偿金需要交税么
  • 现金流量表第四个期初现金余额怎么填
  • 帝国cms如何调用网络
  • 织梦标签教程
  • access 200
  • 提供学历教育服务取得收入免征增值税的有
  • 欠款收不回来了会计分录
  • 公司固定资产抵押贷款无法偿还
  • 赠送给客户的礼品税法
  • 为什么盈利要利息呢
  • 固定资产大修理和更新改造的区别
  • 跨年度少计摊销怎么做账
  • 金税盘维护费应该计入什么科目
  • 离职补偿金的计算基数
  • 从内地到香港坐飞机到国内
  • 取得抵债资产
  • 稽查跨年进项税额转出要调整所得税吗
  • 银行利息回单怎么报账审核
  • 损益类科目借贷怎么记
  • 合并报表六大抵消分录CPA
  • 银行收到客户货款会计分录
  • 汽车生产企业三大战略
  • 什么费用可以列入研发费用
  • 采购返利是什么意思
  • 预付账款有余额吗
  • 政府征税再进行补贴对消费者福利的影响
  • 独立核算 单独核算
  • 出口免税项目
  • 发票可以冲销几次
  • 租房买的中央空调怎么用
  • 企业内账怎么做
  • 建账时应取得哪些资料
  • 怎么设置库存限额
  • mysql5.7.32免安装教程
  • 电脑的本地连接在哪win10
  • win7系统连接VPN失败时提示错误代码721的故障分析及解决方法
  • win10屏幕刷新率只有60
  • vue wepack
  • javascript核心技术开发解密
  • jquery技巧
  • ORMLite完全解析(四) 官方文档第四章、在Android中使用
  • XRegExp 0.2: Now With Named Capture
  • 电子税务局申请开票额度增加
  • 纳税申报2020年2月
  • 增值税网上申报步骤可以在手机上申报吗
  • 地方税务局怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设