项目场景:
这是在编译FCOS (主要是其中基于maskrcnn-benchmark部分)时报的错误。
问题描述:
在执行
python setup.py build develop --no-deps
时,会RuntimeError,报以下错误:
subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1.
网上有些解决方案说将代码中的[‘ninja‘, ‘-v‘]改为[‘ninja‘, ‘–version‘],但是这是 不正确 的,没有定位到问题的根本,即使暂时解决了这个报错,后面也可能有g++之类的报错。
原因分析:
由报错原因可以看到,是在执行
ninja -v
时报错。所以可能的错误有一下几种:
- 没有正确安装ninja;
- pytorch版本不正确。
解决方案:
- 正确安装ninja。
pip install ninja #使用pip安装ninja(也可上github自行安装)
ninja --version #输出ninja版本,检查是否安装正确
- 降级pytorch版本。例如我的FCOS/maskrcnn-benchmark,需要把pytorch版本降到1.0即刻解决问题。