Ubuntu16.04使用Anaconda搭建TensorFlow使用環境
但是在安裝TensorFlow后,import tensorflow報出如下錯誤:
該問題的錯誤原因是由於gcc的動態庫較老導致的。我們根據ImportError的路徑/usr/lib/x86_64-linux-gnu進行查看,輸入命令:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
通過查看發現確實沒有tensorflow1.6要求的較新版本的動態庫。還有在/usr/lib/x85_64-linux-gnu目錄下的libstdc++.so.6實際上是一個軟鏈接,是連接到某個舊版本的動態庫上的。在該目錄下使用ls命令可以查看舊版本動態庫的全名,比如libstdc++.so.6.0.22。而我們要做的事情就是找到新版本的動態庫,然后產生一個軟鏈接。如何找新版本的動態庫,在升級GCC或者安裝TensorFlow時都會生成新的動態庫,我們使用如下命令查找:
find / -name "libstdc++.so.*"
我發現了較新的libstdc++.so.6.0.24在tensorflow虛擬環境的lib目錄下有,絕對路徑為:
/home/自己的用戶名/.conda/envs/tensorflow/lib
cd到該目錄,然后將新版本的動態庫拷貝到/usr/lib/x86_64-linux-gnu目錄下
之后執行:
cd /usr/lib/x86_64-linux-gnu rm -rf libstdc++.so.6 ln -s libstdc++.so.6.0.24 libstdc++.so.6
之后再使用strings命令查看,發現就有新版本,然后就開開森森的import tensorflow吧
參考原文:https://blog.csdn.net/BigBossZjz/article/details/79789383