解决“Ninja is required to load C++ extensions“

问题说明

使用PYCHARM调试/运行程序时,出现"Ninja is required to load C++ extensions",但是已经确保了在该运行环境下安装了ninja,还是出错,而且在bash环境下运行不报错,只有在点击运行或者debug按钮的时候报错
在这里插入图片描述
根据报错文件位置,确认报错代码:

def is_ninja_available():
    r'''
    Returns ``True`` if the `ninja <https://ninja-build.org/>`_ build system is
    available on the system, ``False`` otherwise.
    '''
    try:
        subprocess.check_output('ninja --version'.split())
    except Exception:
        return False
    else:
        return True

可以看到,验证ninja是否可行,是根据执行ninja --version得到的,也就是说执行的环境下没有ninja的安装路径;

  • 解决办法1,在.py脚本下确定ninja的路径,可以在conda虚拟环境下查看ninja的路径
  • 在这里插入图片描述
    将该路径写如环境变量,在所有指令执行前添加
import os
os.environ["PATH"] = os.environ["PATH"] + ":/dirname/to/ninja/in/conda/bin"
  • 解决办法2, 在PYCHARM执行脚本下添加
    右键 → \rightarrow More Run/Debug → \rightarrow Modify Run Configuration
    点开控制面板后,点击Configuration下的Environment,找到Environment variables,修改环境变量
    在这里插入图片描述
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值