Skip to main content
 首页 » 编程设计

python之ImportError : libcudart. so.7.5 当我使用带有 python 扩展的 VScode 调试 TensorFlow 程序时

2024年10月17日25txw1958

我已经在我的 Ubuntu 系统上安装了带有 Python 扩展的 VSCode。我还正确安装了 TensorFlow 0.9、CUDA 7.5 和 cuDNN 库。

但是,当我使用VSCode调试tensorflow程序时,导入tensorflow(import tensorflow)会报错如下:

ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory 

我可以确定所有的库都安装成功了。因为我可以在 VSCode 中调试和运行 Python 程序,我也可以使用 Ubuntu 终端运行 tensorflow 程序。

此外,当我从 Ubuntu 终端导入 tensorflow 时,输出如下:

I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally 

如您所见,它没有使用库“libcudart.so.7.5”。

我也检查了 ~/.bashrc 中的 CUDA 路径,如下所示:

export CUDA_HOME=/usr/local/cuda-7.5 
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64 
export PATH=$PATH:/usr/local/cuda-7.5/bin 

由于我的 CUDA 安装在路径 '/usr/local/cuda-7.5' 中,而且我也可以在该路径中找到 'libcudart.so.7.5' 库,所以我认为没有任何错误。

那么问题是什么?为什么从Terminal导入,没有报错,而从vscode导入时,却出现这样的错误?谢谢。

请您参考如下方法:

我在搜索和阅读了很多网页后终于解决了这个问题。方法如下:

首先,使用以下命令链接 CUDA 库:

sudo ldconfig /usr/local/cuda/lib64 

然后,我可以在 VSCode 中导入 tensorflow。但是还是有一个错误,如下:

I tensorflow/stream_executor/dso_loader.cc:99] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH:  
I tensorflow/stream_executor/cuda/cuda_dnn.cc:1562] Unable to load cuDNN DSO 

虽然程序可以运行,但是程序好像找不到cuDNN库。然后我发现 cuDNN 库没有在我的 Ubuntu 系统上正确安装。我使用以下命令修改了我的安装:

cd ~/cuda 
sudo cp include/cudnn.h /usr/include 
sudo cp lib64/libcudnn* /usr/lib/x86_64-linux-gnu/ 
sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn* 

这里,'~/cuda'是我的cuDNN安装文件的路径。

最后,完成所有这些步骤后,我现在可以导入 tensorflow 并在 VSCode 中调试我的程序了。