执行pip install -v -e .时
报错:mmdet3d/ops/spconv/src/all.cc:15:30: fatal error: cuda_runtime_api.h: 没有那个文件或目录
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
error: subprocess-exited-with-error
× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.
同之前写的这篇文章https://mp.csdn.net/mp_blog/creation/editor/131216456
网上各种方法都试过,最多操作就是在.bashrc文档里添加PATH路径,于我而言是没有用的,还有一种方法是把路径链接过来,试过但是没用。解决这个问题的一个启发就是复制别的博主添加的PATH:/usr/local路径,source之后报错发现自己压根就没有那个文件夹,为了看看自己是否有那个文件,执行:
find -name 'xxx'
然后把路径添加到PATH,还是一样报错。那就用python里面最原始的方法,把头文件报错的.h文件改为含绝对路径的.h文件。工程量当然是巨大的,因为很多文件都报错了:
我是一个个改的,因为只有这样我才会不报错,没有更好的解决办法,有好方法欢迎分享。头文件报错的问题 解决完之后,迎来了新的报错:
arch_list[-1]+='+PTX'
IndexError: list index out of range
网上对此报错主要是基于这两点来进行: 一个是下标超出,一个是list是空的。大部分都是python爬虫错误,我用print试了一下,运行会跳过这个直接报原来的错误。我找到了另一种解决办法,出现此问题可能是nvidia的问题,输入nvidia-smi:
输入nvcc -V,cuda是显示存在的:
可能因为上次停电,服务器重启的原因。上面可以看到nvidia的驱动driver还存在,解决方法是,首先安装dkms:
安装过程,我选择了N保留原来的版本。然后查看驱动版本: 使用dkms重新安装该驱动:
终于成功啦!