无法在ipython中导入Tensorflow

时间:2017-03-08 22:40:59

标签: python tensorflow ipython six

我的macbook pro Yosemite上有tensorflow版本1.0.0非GPU版本。它安装在virtualenv中,我有python 2.7。我有六个版本1.4.1。当我在命令行上执行python并导入六个时,它可以正常工作。但是当我进入' ipython'并导入tensorflow,我看到这个错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-1-cd232424f60d> in <module>()
----> 1 execfile('hw4/net.py')

/Users/lingxiao/Documents/research/dialogue-systems/hw4/net.py in <module>()
      8 import time
      9 import numpy as np
---> 10 import tensorflow as tf
     11 
     12 import app

/Users/lingxiao/tensorflow/lib/python2.7/site-packages/tensorflow/__init__.py in <module>()
     22 
     23 # pylint: disable=wildcard-import
---> 24 from tensorflow.python import *
     25 # pylint: enable=wildcard-import
     26 

/Users/lingxiao/tensorflow/lib/python2.7/site-packages/tensorflow/python/__init__.py in <module>()
    122 from tensorflow.python.platform import resource_loader
    123 from tensorflow.python.platform import sysconfig
--> 124 from tensorflow.python.platform import test
    125 
    126 from tensorflow.python.util.all_util import remove_undocumented

/Users/lingxiao/tensorflow/lib/python2.7/site-packages/tensorflow/python/platform/test.py in <module>()
     67 # pylint: disable=g-bad-import-order
     68 from tensorflow.python.client import device_lib as _device_lib
---> 69 from tensorflow.python.framework import test_util as _test_util
     70 from tensorflow.python.platform import googletest as _googletest
     71 from tensorflow.python.util.all_util import remove_undocumented

/Users/lingxiao/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/test_util.py in <module>()
     41 from tensorflow.python.framework import random_seed
     42 from tensorflow.python.framework import versions
---> 43 from tensorflow.python.platform import googletest
     44 from tensorflow.python.platform import tf_logging as logging
     45 from tensorflow.python.util import compat

/Users/lingxiao/tensorflow/lib/python2.7/site-packages/tensorflow/python/platform/googletest.py in <module>()
     31 
     32 from tensorflow.python.platform import app
---> 33 from tensorflow.python.platform import benchmark  # pylint: disable=unused-import
     34 
     35 Benchmark = benchmark.TensorFlowBenchmark  # pylint: disable=invalid-name

/Users/lingxiao/tensorflow/lib/python2.7/site-packages/tensorflow/python/platform/benchmark.py in <module>()
    115 
    116 
--> 117 class Benchmark(six.with_metaclass(_BenchmarkRegistrar, object)):
    118   """Abstract class that provides helper functions for running benchmarks.
    119 

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.pyc in with_metaclass(meta, *bases)
    564 def with_metaclass(meta, *bases):
    565     """Create a base class with a metaclass."""
--> 566     return meta("NewBase", bases, {})
    567 
    568 def add_metaclass(metaclass):

/Users/lingxiao/tensorflow/lib/python2.7/site-packages/tensorflow/python/platform/benchmark.py in __new__(mcs, clsname, base, attrs)
    110     newclass = super(mcs, _BenchmarkRegistrar).__new__(
    111         mcs, clsname, base, attrs)
--> 112     if not newclass.is_abstract():
    113       GLOBAL_BENCHMARK_REGISTRY.add(newclass)
    114     return newclass

AttributeError: type object 'NewBase' has no attribute 'is_abstract'

我尝试升级六,我仍然看到版本1.4.1。六个问题在这里吗?如果不是什么?

2 个答案:

答案 0 :(得分:2)

似乎有很多事情纠结在一起。我正在使用带有six==1.10.0tensorflow==1.0.0和Python 2.7.12的Anaconda2。一个快速的实验是安装Anaconda2(即使用python2.7)然后安装pip install TF和其他依赖项并尝试它。

Anaconda安装是独立的,因此您不会受到其他系统问题的影响。我刚刚运行/Users/myusername/anaconda2/bin/ipython

答案 1 :(得分:1)

我的猜测是你需要在虚拟环境中安装iPython。如果你还没有这样做,即使你在虚拟环境中,ipython也会使用vanilla解释器。