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

当在PYCHARM中运行或调试Python程序时遇到‘Ninja is required to load C++ extensions’错误,即使已安装ninja,问题可能在于环境变量未正确设置。解决方法包括:1) 确定ninja在conda环境中的具体路径,并将其添加到系统环境变量;2) 在PYCHARM的运行配置中修改环境变量,确保ninja的路径被包含。这两种方法都能解决因找不到ninja导致的运行时错误。
部署运行你感兴趣的模型镜像

问题说明

使用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,修改环境变量
    在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值