位置: 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会执行两次

  • oppoa32像素多少(oppoa32相素多少)

    oppoa32像素多少(oppoa32相素多少)

  • 苹果手机怎么把步数放桌面(苹果手机怎么把通讯录传到另一个手机)

    苹果手机怎么把步数放桌面(苹果手机怎么把通讯录传到另一个手机)

  • 支付宝种麦子在哪里(支付宝农场种麦子是干啥的)

    支付宝种麦子在哪里(支付宝农场种麦子是干啥的)

  • 驱动程序无法使用怎么办(驱动程序无法使用但是能打印)

    驱动程序无法使用怎么办(驱动程序无法使用但是能打印)

  • 蓝牙耳机有必要买吗(蓝牙耳机有必要买贵的吗)

    蓝牙耳机有必要买吗(蓝牙耳机有必要买贵的吗)

  • 手机上的表格怎么传到电脑上(手机上的表格怎么打印)

    手机上的表格怎么传到电脑上(手机上的表格怎么打印)

  • qq关联怎么不让对方看到自己的聊天记录(qq关联怎么不让对方看见以前的消息)

    qq关联怎么不让对方看到自己的聊天记录(qq关联怎么不让对方看见以前的消息)

  • 腾讯视频会员如何解除主设备(腾讯视频会员如何关闭自动续费)

    腾讯视频会员如何解除主设备(腾讯视频会员如何关闭自动续费)

  • qq个性签名怎么设置(qq个性签名怎么设置权限设置)

    qq个性签名怎么设置(qq个性签名怎么设置权限设置)

  • 拼多多怎么更换主图拼多多怎么修改白底图(拼多多怎么更换账户)

    拼多多怎么更换主图拼多多怎么修改白底图(拼多多怎么更换账户)

  • excel另存为没有dbf(excel另存为没有桌面选项)

    excel另存为没有dbf(excel另存为没有桌面选项)

  • 快手注销条件1不通过(快手注销账号要什么条件)

    快手注销条件1不通过(快手注销账号要什么条件)

  • 全民k歌可以上传本地录音吗(全民K歌可以上传网易云音乐吗)

    全民k歌可以上传本地录音吗(全民K歌可以上传网易云音乐吗)

  • 苹果xs max屏幕失灵(iphone xs max手机屏幕失灵)

    苹果xs max屏幕失灵(iphone xs max手机屏幕失灵)

  • 什么是抖音文案(什么是抖音文案号)

    什么是抖音文案(什么是抖音文案号)

  • 苹果7plus能用18w的充电器吗(苹果7plus能用电信卡吗)

    苹果7plus能用18w的充电器吗(苹果7plus能用电信卡吗)

  • 手机用充电宝充电有什么影响吗(手机用充电宝充电发烫)

    手机用充电宝充电有什么影响吗(手机用充电宝充电发烫)

  • 手机号邮箱怎么注册(手机号邮箱怎么查看邮件)

    手机号邮箱怎么注册(手机号邮箱怎么查看邮件)

  • xr没有3d touch功能吗

    xr没有3d touch功能吗

  • 抖音提现比例是多少(抖音提现比例是多少钱)

    抖音提现比例是多少(抖音提现比例是多少钱)

  • 华为荣耀9xpro上市时间

    华为荣耀9xpro上市时间

  • 车载u盘发烫怎么解决(车载u盘发烫会爆炸吗)

    车载u盘发烫怎么解决(车载u盘发烫会爆炸吗)

  • monsoon是什么牌子(monon是什么品牌)

    monsoon是什么牌子(monon是什么品牌)

  • procreate怎么导出到相册(procreate怎么导出图层文件)

    procreate怎么导出到相册(procreate怎么导出图层文件)

  • 8p录屏在哪(8p录屏在哪设置出来)

    8p录屏在哪(8p录屏在哪设置出来)

  • 财产租赁合同印花税计税依据含税吗
  • 固定资产补提之前月度折旧怎么调整
  • 发票遗失重开需要收费吗
  • 汇算清缴纳税调整项目
  • 2019年工会经费新规定
  • 为企业担保
  • 外资企业采购流程
  • 哪些纳税人需要实名办税
  • 记账凭证和通用凭证一样
  • 公司购买的二手车如何计提折旧
  • 个税手续费返还政策最新规定2023
  • 上个月没有结账可以做下个月的账吗
  • 原始凭证审核的内容
  • 员工宿舍需要缴纳房产税么
  • 企业所得税季报是填累计数吗
  • 合同税率16%调整到13%怎么算
  • 税务异常不处理会的后果
  • 测试账户收入怎么做
  • 质保金怎么挂账
  • 代垫资金的代购是什么
  • 询证函是什么文书
  • 普通发票用记账吗
  • 企业职工教育经费
  • 事业单位项目前景怎么样
  • 哪些进项税可以加计抵减
  • 登陆qq网页版手机会有提示吗
  • wordpress如何使用
  • 公司租赁办公室要注意什么
  • php redis实现秒杀思路
  • 物业公司管理制度及工作要求
  • 认缴制下实收资本需要验资吗
  • node js m1
  • 你应该知道的数学常识纪录片
  • 取得抵债资产支付的税费一般不包括下列哪种
  • 电子税务局没有开票业务
  • Php数组转json 参数不带引号
  • 应付票据应付利息
  • 新会计准则对财务工作的影响
  • 预收账款包括哪些内容具体明细
  • 企业并购的主要特征是a扩大企业规模
  • mongo删除数据库命令
  • 坏账的计算公式
  • 运输行业一般纳税人开普票税率是多少
  • 个人缴纳社保部分怎么算
  • 一般纳税人必须有办公地点吗
  • 出纳账务处理分录
  • 外地施工企业异地施工
  • 企业股权转让收入会计处理
  • 承兑汇票多付退税怎么算
  • 建设单位支付给施工单位的民工工资
  • 材料采购发票未到
  • 预收账款怎么处理
  • 来料加工账务处理案例
  • 退款扣除手续费
  • 增值税增量留抵退税进项构成比例
  • 母公司代子公司收款,子公司开具发票
  • 红字冲账的记账凭证
  • 现汇账户和现钞账户
  • 普通日记账如何记账
  • 会计结账的作用
  • 重装机兵
  • Win7 64位 mysql 5.7下载安装常见问题小结
  • 电脑连接宽带时出错怎么办
  • linux系统中cp命令
  • windowsxp的安装方法
  • mac修改默认系统
  • iis搭建php环境
  • 如何配置centos7的ip地址
  • win 7系统双独立显卡设置
  • linux主要充当什么样的服务角色
  • linux系统获取ip地址
  • 邮箱应用程序
  • webrtc opus
  • eclipse安转
  • nodejs调用打印机驱动
  • node中使用什么引入模块
  • javascript编程语言
  • Dojo Javascript 编程规范 规范自己的JavaScript书写
  • 江苏差旅费报销管理规定2021
  • 为什么国家要收房产税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设