2016-11-30 123 views
3

我安裝之後從tensorflow網頁上的指示tensorflow,使用以下命令:爲什麼我不能導入tensorflow

sudo apt-get install python-pip python-dev 
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.0rc0-cp27-none-linux_x86_64.whl 
sudo pip install --upgrade $TF_BINARY_URL 

然後我運行python和類型:

import tensorflow 

我得到這些錯誤信息:

ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory 
Error importing tensorflow. Unless you are using bazel, 
you should not try to import tensorflow from its source directory; 
please exit the tensorflow source tree, and relaunch your python interpreter 
from there. 

我有谷歌這個問題,並找到答案像https://github.com/tensorflow/tensorflow/issues/1244https://github.com/NVIDIA/DIGITS/issues/8 但他們都沒有幫助我的問題。 我的python版本是2.7.6。我正在安裝Linux的純CPU版本。 當我第一次以上述方式安裝tensorflow,它工作正常,我設法運行一些教程示例。但是今天我試圖安裝anaconda,這是另一個有用的計算工具箱。當我安裝它時,我發現沒有張量流。所以我再次使用conda安裝tensorflow。但是,然後發生上述錯誤。現在我已經移除了anaconda,並且移除了anaconda添加的環境路徑。但導入錯誤仍未解決。 我對發生了什麼感到困惑。謝謝大家的親切幫助!

回答

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

這表明正在導入tensorflow的GPU版本。也許你已經安裝了另一個版本的tensorflow?如果你用pip安裝所有的python包,你可以通過列出已安裝的包來進行檢查。

+0

這裏來了奇怪的事情。正如我在問題中所展示的那樣,我確實下載了僅限CPU的版本。但它報告了這個消息。 – pfc

+0

我看到,已更新。 – ben

+0

謝謝您的信息。我檢查了python的sys.path。我發現有一個包含張量流的路徑「/home/myname/.local/lib」。我不知道它是如何出現在那裏的。我認爲這是導致Python搜索tensorflow的不正確版本的路徑。我可以通過運行「sys.path.remove()」來刪除此路徑。但是這隻能暫時消除路徑。你知道我可以永久刪除嗎?我一直在尋找答案,但還沒有找到答案。再次感謝你!!! – pfc

0

在/etc/ld.so.conf.d/創建.conf文件:

sudo nano /etc/ld.so.conf.d/nvidia.conf

補充一點:

/usr/local/cuda-8.0/lib64 
/usr/local/cuda-8.0/lib # you probably don't need this line; check 
         # if the directory exists 

然後運行sudo ldconfig。希望這給你帶來快樂。