https://blog.csdn.net/qq_34374211/article/details/81018320
环境:
cuda9.0,cuann7,python3.6,tensorflow1.8
问题描述:
在安装完tensorflow1.8之后,import tensorflow出现以下错误(省略掉无用的报错信息):
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
解决方法:
步骤一(仅使用步骤二也可能可以解决问题):在PATH中加入cuda
sudo vim ~/.bashrc
在末尾加入:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
使之生效:
source ~/.bashrc
发现此时import tensorflow还是报一样的错误,所以进行步骤二
步骤二:
检查 /usr/local/cuda-9.0/lib64 下是否有 libcublas.so.9.0
如果有,终端输入:
sudo ldconfig /usr/local/cuda-9.0/lib64
ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享。
ldconfig的主要用途:
默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。
搜索出可共享的动态链接库,库文件的格式为:lib***.so.**,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
缓存文件默认为/etc/ld.so.cache,该文件保存已排好序的动态链接库名字列表。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。