【问题标题】:Import tensorflow in Anaconda2: undefined symbol在 Anaconda2 中导入 tensorflow:未定义符号
【发布时间】:2019-05-21 18:32:30
【问题描述】:

今天早上我正在尝试在 Anaconda3(python 版本 3.5 和 Ubuntu 16.04)上安装 tensorflow。我用conda install tensorflow 安装了张量流。但是导入python/jupyter notebook的时候就不好用了。

Python 3.5.6 |Anaconda, Inc.| (default, Aug 26 2018, 21:41:56) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/core/framework/graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/google/protobuf/descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
ImportError: /home/work/.conda/envs/tensorflow/lib/python3.5/site-packages/google/protobuf/pyext/_message.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZNK6google8protobuf10TextFormat17FieldValuePrinter9PrintBoolEb
>>> 

有没有人遇到过这种情况?我注意到有类似的情况,但该解决方案可能不适用于 Anaconda3。

【问题讨论】:

    标签: python tensorflow anaconda ubuntu-16.04 jupyter


    【解决方案1】:

    用 pip 安装 tensoflow pypi-package

    我遇到了完全相同的错误。我的应用程序需要 tensorflow 版本 1.0.0。 tensorflow 的 conda-package 和 pypi-package 似乎有区别。所以卸载&lt;YOUR_CONDA_ENV&gt;ironement中tensorflow的conda-package,再次pip-install pipy-package:

    # uninstall current tensorflow conda-package 
    $ sudo conda uninstall --name <YOUR_CONDA_ENV> tensorflow
    # install the pypi-package of tensorflow
    $ sudo <YOUR_CONDA_ENV_PATH>/bin/pip install tensorflow==<REQUIRED_VERSION>
    

    在您的情况下,&lt;YOUR_CONDA_ENV&gt;=tensorflow 并且您的 conda 环境位置的路径是 &lt;YOUR_CONDA_ENV_PATH&gt;=/home/work/.conda/envs/tensorflow

    确保使用 conda 环境的 pip install (&lt;YOUR_CONDA_ENV_PATH&gt;/bin/pip) 而不是一般的 pip (/bin/pip)。如果您还没有在您的环境中安装 pip,只需:

    $ sudo conda install --name <YOUR_CONDA_ENV> pip
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-26
      • 2017-02-16
      • 2014-08-29
      • 1970-01-01
      • 2016-02-03
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多