编译faster_rcnn_pytorch时遇nvcc路径错误的技术求助
从你遇到的情况来看,系统找不到CUDA的编译器nvcc,导致setup.py执行失败。先把你碰到的错误信息贴出来方便参考:
(p27) [$USER@compute-1-5 faster_rcnn]$ ./make.sh
Traceback (most recent call last):
File "setup.py", line 59, in
CUDA = locate_cuda()
File "setup.py", line 45, in locate_cuda
raise EnvironmentError('The nvcc binary could not be '
EnvironmentError: The nvcc binary could not be located in your $PATH. Either add it to your path, or set $CUDAHOME...
下面是几个可行的解决办法:
临时修复(仅当前终端会话生效)
先确认你的CUDA安装路径,默认是/usr/local/cuda,如果是自定义安装路径就换成你自己的。在终端执行以下命令:export PATH=/usr/local/cuda/bin:$PATH export CUDAHOME=/usr/local/cuda执行完后再重新运行
./make.sh试试。永久修复(所有终端会话生效)
如果你不想每次都手动设置环境变量,可以把配置写入shell的初始化文件:- 打开你的shell配置文件,比如bash用户编辑
~/.bashrc,zsh用户编辑~/.zshrc - 在文件末尾添加两行:
export PATH=/usr/local/cuda/bin:$PATH export CUDAHOME=/usr/local/cuda - 保存文件后,执行
source ~/.bashrc(或对应的配置文件)使更改立即生效,之后再运行./make.sh
- 打开你的shell配置文件,比如bash用户编辑
自定义CUDA安装路径的情况
如果你把CUDA安装在了非默认路径(比如~/cuda-11.3),只需要把上面命令里的路径替换成你的实际路径即可:export PATH=~/cuda-11.3/bin:$PATH export CUDAHOME=~/cuda-11.3
最后,建议先验证一下nvcc是否能正常调用:执行nvcc --version,如果能输出CUDA版本信息,说明环境变量设置成功了;如果还是没输出,那可能你还没安装CUDA,得先安装对应版本的CUDA再尝试编译。
内容的提问来源于stack exchange,提问作者snazziii

