2016-06-15 4 views
2

TL; DR получает ImportError: cannot import name pywrap_tensorflow при попытке использовать TensorFlow на El Capitan.Tensorflow ImportError на OS X

Подробности: Я выполнил инструкции по установке TensorFlow для Mac OS X от here.

Mac OS X, CPU только 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 

Эти шаги были успешными.

Так давайте попробуем:

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 
+0

https://github.com/tensorflow/tensorflow/issues/3217 –

ответ

3

TL; DR: Не запускайте ipython (или python) от корня TensorFlow репозиторий, когда вы хотите import tensorflow.

Я ответил на аналогичный вопрос here. Самое простое решение - cd из текущего каталога (например, cd ~) перед запуском ipython. Это предотвратит путание Python исходным подкаталогом tensorflow в текущем пути. Каталог ./tensorflow в репозитории git не содержит весь сгенерированный код (например, pywrap_tensorflow), который необходим для запуска TensorFlow, но содержит файл с именем __init__.py, и это смущает интерпретатор Python.

+0

ах вы правы. это такая странная ошибка, которую я не помню. – javadba

+0

Прекрасно работает для меня. Благодаря! –