简体   繁体   中英

Tensorflow ImportError on OS X

TL;DR getting ImportError: cannot import name pywrap_tensorflow when trying to use TensorFlow on El Capitan.

Details: I followed the TensorFlow installation instructions for Mac OS X from here .

Mac OS X, CPU only, Python 2.7:
 $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0rc0-py2-none-any.whl $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0rc0-py2-none-any.whl $ sudo pip install --upgrade $TF_BINARY_URL 

These steps were successful.

So let's try it:

22:54:00/tensorflow $ipython
Python 2.7.11 (default, Jan 22 2016, 08:29:18)
Type "copyright", "credits" or "license" for more information.

IPython 4.2.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
[TerminalIPythonApp] WARNING | File not found: '/shared/.pythonstartup'

In [1]: import tensorflow as tf
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-41389fad42b5> in <module>()
----> 1 import tensorflow as tf

/git/tensorflow/tensorflow/__init__.py in <module>()
     21 from __future__ import print_function
     22
---> 23 from tensorflow.python import *

/git/tensorflow/tensorflow/python/__init__.py in <module>()
     46 _default_dlopen_flags = sys.getdlopenflags()
     47 sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL)
---> 48 from tensorflow.python import pywrap_tensorflow
     49 sys.setdlopenflags(_default_dlopen_flags)
     50

ImportError: cannot import name pywrap_tensorflow

TL;DR: Don't run ipython (or python ) from the root of the TensorFlow git repository when you want to import tensorflow .

I answered a similar question here . The easiest solution is to cd out of the current directory (eg cd ~ ) before running ipython . This will prevent Python from being confused by the tensorflow source subdirectory in the current path. The ./tensorflow directory in the git repository doesn't contain all of the generated code (such as pywrap_tensorflow ) that is needed to run TensorFlow, but does contain a file called __init__.py , and this confuses the Python interpreter.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM