在执行
python setup.py install
编译一些库时,由于torch版本过高导致的一些问题,本可以通过创建低版本torch环境解决,但由于涉及到CUDA版本更换过于麻烦,可以采取下面的方法
1. 报错 subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1
出现这个错误主要原因pytorch 版本大于1.5,可行方法如下
1.降低pytorch版本
2.csdn一些方法是将torch库中[‘ninja‘, ‘-v‘] 更换为[‘ninja‘, ‘--version‘],此方法一般不可行,不建议随便修改库函数,会导致其他正常程序出问题,可以采取以下更换,将setup.py中
# cmdclass={'build_ext': BuildExtension} #原来代码
cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False)} # 改后代码
原理:pytorch默认使用ninjia作为backend,这里把它禁用掉就好了,可能会现警告但不妨碍正常编译成功
2. 报错 THC/THC.h: No such file or directory 没有那个文件或目录
出现错误原因,由于 PyTorch 的升级导致 CUDA 相关的 THC 库的头文件 THC/THC.h
被整合到了 ATen
库之中