问题说明
使用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,修改环境变量

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

被折叠的 条评论
为什么被折叠?



