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

  • 快手直播预约功能怎么设置(快手直播预约功能怎么显示不出来)

    快手直播预约功能怎么设置(快手直播预约功能怎么显示不出来)

  • 健康打卡忘了一天怎么办(健康打卡忘了一天怎么写说明)

    健康打卡忘了一天怎么办(健康打卡忘了一天怎么写说明)

  • vivox50能支持wifi6吗(vivox50支持无线充电器吗)

    vivox50能支持wifi6吗(vivox50支持无线充电器吗)

  • 华为nova4怎么开启专业模式(华为nova4怎么开启耳返)

    华为nova4怎么开启专业模式(华为nova4怎么开启耳返)

  • 华为外放喇叭不响(华为外放喇叭不出声 听筒出声)

    华为外放喇叭不响(华为外放喇叭不出声 听筒出声)

  • 苹果xr屏幕黄怎么调白(苹果xr屏幕黄怎么变白)

    苹果xr屏幕黄怎么调白(苹果xr屏幕黄怎么变白)

  • 文档网格是什么意思(文档网格是啥)

    文档网格是什么意思(文档网格是啥)

  • dgsetup是什么软件(ddu是啥软件)

    dgsetup是什么软件(ddu是啥软件)

  • 华为手机可以无线充电吗(华为手机可以无线反向充电吗)

    华为手机可以无线充电吗(华为手机可以无线反向充电吗)

  • 苹果音量老是自动调节(苹果音量老是自动变大)

    苹果音量老是自动调节(苹果音量老是自动变大)

  • 微信被禁止联网是怎么回事(微信被禁止联网是怎么回事怎样恢复联网)

    微信被禁止联网是怎么回事(微信被禁止联网是怎么回事怎样恢复联网)

  • 路由器重置之后的密码是什么(路由器重置之后连不上网)

    路由器重置之后的密码是什么(路由器重置之后连不上网)

  • 账号被限制登录怎么办(新注册的账号被限制登录)

    账号被限制登录怎么办(新注册的账号被限制登录)

  • 天猫会员店会员怎么取消(天猫会员店会员费)

    天猫会员店会员怎么取消(天猫会员店会员费)

  • 手机受潮会自己恢复吗(手机受潮会自动关机吗)

    手机受潮会自己恢复吗(手机受潮会自动关机吗)

  • ipada1983是第几代(ipad型号a1983是哪一年出的)

    ipada1983是第几代(ipad型号a1983是哪一年出的)

  • 为什么word显示兼容模式(为什么word显示两页并排)

    为什么word显示兼容模式(为什么word显示两页并排)

  • ps怎么移动图片位置(ps怎么移动图片到另一张图片)

    ps怎么移动图片位置(ps怎么移动图片到另一张图片)

  • 手机焦距怎么调(手机焦距怎么调到最大)

    手机焦距怎么调(手机焦距怎么调到最大)

  • iphone11可以分屏吗(iphone 11能否分屏)

    iphone11可以分屏吗(iphone 11能否分屏)

  • 苹果8支持无线充电吗(苹果8支持无线反向充电吗)

    苹果8支持无线充电吗(苹果8支持无线反向充电吗)

  • 魅族16s尺寸(魅族16s多宽)

    魅族16s尺寸(魅族16s多宽)

  • ps图片编辑完怎么保存(ps图片编辑完怎么导出来)

    ps图片编辑完怎么保存(ps图片编辑完怎么导出来)

  • 铃声多多怎么保存视频(铃声多多怎么保存到手机)

    铃声多多怎么保存视频(铃声多多怎么保存到手机)

  • 苹果手机飞行模式提示音是什么(苹果手机飞行模式了闹钟还会响吗)

    苹果手机飞行模式提示音是什么(苹果手机飞行模式了闹钟还会响吗)

  • hdmi连接电视无信号解决方法(hdmi连接电视无法全屏)

    hdmi连接电视无信号解决方法(hdmi连接电视无法全屏)

  • ps中像素和分辨率的区别与关系(ps像素分辨率什么意思)

    ps中像素和分辨率的区别与关系(ps像素分辨率什么意思)

  • 一般纳税人销售使用过的固定资产
  • 变更税务所怎么操作
  • 什么是进口增值业务
  • 以前年度损益调整会计分录
  • 应付股利一直挂账怎么办
  • 一般纳税人旧货
  • 债务重组损益的计算公式
  • 已收款未开票未发货能确认收入吗
  • 装修工程分期开票分期付款如何作账?
  • 委托加工物资加工费怎么结转
  • 以公司买房
  • 增值税农产品扣除率
  • 员工报销体检费,发票抬头开个人还是公司
  • 残疾人可以给公司带来税收优惠吗
  • 企业会计准则固定资产解释
  • 代扣代征税款有哪些
  • 应付账款是贵公司欠还是欠贵公司
  • 公司向个人租赁房屋要缴什么税
  • 已经抵扣增值税专用发票对方要换票怎么办
  • 核定征收没有收入要交税吗
  • 解决网卡驱动故障的方法
  • 机票增值税怎么计算
  • pull-hi
  • 财务报表分析方法有哪些?各有什么优缺点?
  • 购入股票佣金会减少吗
  • 行政事业单位怎么考
  • php 正则表达式
  • 利润分配的账务处理如何做
  • 企业清算的会计科目
  • 电子承兑汇票支付流程
  • 陈列费用明细表怎么做
  • 销售货物的收入总额包括什么
  • 表单建模
  • 已抄报未反写什么意思
  • 定时任务java
  • php file函数
  • input输入框限制最大字数
  • c语言fread函数的用法示例
  • mac安装brew
  • 织梦模板安装完整教程
  • 工程开票金额大于结算金额怎么处理
  • 制造行业结转成本
  • 付的房屋租金计入什么会计科目
  • 一般纳税人之外还有什么
  • 贷款利息收入如何计算
  • 交易性金融资产是什么意思
  • 存货跌价准备是什么意思
  • 无形资产减值迹象有哪些
  • 有限合伙企业如何报税
  • 转出上年的进项税怎么算
  • 应收账款周转率计算公式
  • 第三方代缴社保合法吗最新规定
  • 利息支出的纳税调整计算公式
  • 人力资源外包服务平台
  • 企业软件开发哪家好
  • 出纳提取现金有金额限制吗
  • 海关进口代理公司名称
  • 为什么要计提工资附加费
  • 仓库周转率是什么意思
  • 一些 T-SQL 技巧
  • w10 2021年更新
  • centos7 nis
  • 全自怎么安装方法
  • GhostXP_SP3活力版V3.0_系统之家首发
  • win10组策略编辑器没有
  • win8 任务栏
  • javascript事件模型介绍
  • 调用perl脚本
  • cocos2dx onpause崩
  • android的ui组件有哪些
  • 使用权资产
  • linux用python
  • jquery版本区别
  • 医疗费发票查询
  • 出口退税申报时间是每月15号吗
  • 西安大修基金和契税怎么计算
  • 河北新农合怎么查询
  • 金华市税务
  • 武汉代账公司一般怎么收费
  • 矿产资源税税率2020年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设