【问题标题】:Unable to properly install or load Tensorflow on Ubuntu 12.04 LTS with resultant ImportError无法在 Ubuntu 12.04 LTS 上正确安装或加载 Tensorflow,并导致 ImportError
【发布时间】:2016-08-05 13:46:06
【问题描述】:

我在我的 Ubuntu 12.04 LTS 系统上尝试了 TensorFlow 的 Anaconda installation,它通过了,但是在 Python 中导入库时,我遇到了如下所示的 ImportError。

我查看了一个类似主题的solution,但它对我不起作用。

基本上这是我为安装所做的:

$ conda create -n tensorflow python=2.7
$ source activate tensorflow
(tensorflow)$ conda install -c conda-forge tensorflow
(tensorflow)$ source deactivate
$ source activate tensorflow

然后我从 virtualenv 中加载了 Python,并尝试导入 tensorflow。我得到的是以下错误:

>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/anirudh/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/__init__.py", line 23, in <module>
from tensorflow.python import *
  File "/home/anirudh/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 48, in <module>
from tensorflow.python import pywrap_tensorflow
  File "/home/anirudh/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
  File "/home/anirudh/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
 ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /home/anirudh/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)

我该如何排序?

【问题讨论】:

  • 你为什么坚持发布四年前的操作系统?
  • 碰巧我的电脑硬件不兼容软件升级。升级会导致图形驱动程序在重新启动时失败。我有一台戴尔 Vostro 3445 笔记本电脑。
  • 很抱歉听到这个消息。

标签: python ubuntu tensorflow anaconda


【解决方案1】:

您需要安装libstdc++6 以及一些依赖项,例如gccg++,至少是gcc-4.6 版本:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo apt-get install libstdc++6

或者您可以安装 linux-headersbuild-essential 巫婆,其中包含一些有用的工具,例如 gcc 编译器、make .... 用于从源代码编译和构建软件的工具。

【讨论】:

    【解决方案2】:

    此错误可能与您的 glibc 版本有关。有一些关于这个的话题:Where can I get a copy of the file libstdc++.so.6.0.15

    首先检查你的系统是否有需要的版本。

        $ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
    

    如果没有列出,你可以试试

        $ sudo add-apt-repository ppa:ubuntu-toolchain-r/test 
        $ sudo apt-get update
        $ sudo apt-get upgrade
        $ sudo apt-get dist-upgrade
    

    “sudo apt-get dist-upgrade”可能不是必需的。

    【讨论】:

      【解决方案3】:

      这发生在我的 CentOS 7 中

      在 conda 环境中运行 python 脚本时,我遇到了与 tensorflow 包装器所需的“GLIBCXX_3.4.22...”非常相似的错误。

      就我而言,我首先做的是:

      “conda 安装 libgcc”

      安装了一些库,但这对我没有帮助。我终于通过从之前安装的 Schroedinger maestro 软件附带的文件夹中删除“GLIBCXX”解决了这个问题。我认为,两个库之间存在某种冲突。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-10
        • 2013-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-14
        • 2013-07-23
        相关资源
        最近更新 更多