pip安装ninja后仍提示Ninja is required to load C++ extensions如何解决
解决方案
- 确认环境一致性
运行pip -V和which python,检查当前执行代码的Python解释器与pip所属环境是否匹配,避免出现虚拟环境下运行代码、却在全局环境安装ninja的错位问题。确认环境匹配后可重新执行pip install --upgrade ninja刷新安装。 - 检查ninja可执行文件的环境变量配置
运行ninja --version,如果正常输出版本号说明调用正常;如果提示命令不存在,说明pip安装的ninja路径未加入系统PATH,执行以下命令添加路径:
之后重新验证echo 'export PATH=$PATH:'$(python -c 'import site; print(site.getuserbase())')'/bin' >> ~/.bashrc source ~/.bashrcninja --version是否正常返回。 - 系统级安装ninja
若pip安装的ninja始终无法识别,直接通过系统包管理器安装:- Debian/Ubuntu系统:
sudo apt update && sudo apt install -y ninja-build - CentOS/RHEL系统:
sudo dnf install -y ninja-build - macOS系统:
brew install ninja
- Debian/Ubuntu系统:
- 补全编译依赖
确认系统已安装完整的C/C++编译链,Ubuntu可执行sudo apt install -y build-essential,CentOS可执行sudo dnf groupinstall -y "Development Tools",避免编译依赖缺失触发的误报错。 - 临时规避方案
如果无需使用SRU的CUDA加速能力,可在运行代码前设置环境变量export SRU_CUDA=0,强制调用CPU版本实现,跳过CUDA内核编译步骤。
内容的提问来源于stack exchange,提问作者Khabbab Zakaria
相关产品推荐
相关产品推荐

