# Mac OS X, CPU only: 看到网上 可以用 Python 编程语言做哪些神奇好玩的事情?可以用来画画,上几张图来看看
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
勾起了我的兴趣,我也打算玩玩,决定选用google出的tensorflow。下面给大家介绍下Tensorflow的安装和其中的坑。
Tensor flow的安装(Tensorflow的中文文档),文档中介绍了n种方法,Pip, Docker, Virtualenv, Anaconda 或 源码编译的方法安装 TensorFlow。由于我使用的是mac,所以选择了pip安装。
Pip安装
Pip 是一个 Python 的软件包安装与管理工具.
在安装 TensorFlow 过程中要涉及安装或升级的包详见 列表首先安装 pip (或 Python3 的 pip3 ):
# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev
# Mac OS X
$ sudo easy_install pip
Tensorflow安装
# Mac OS X, CPU only:
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
当到这一步的时候,安装失败了。原因是tensorflow安装是安装依赖six的时候,版本和系统的版本冲突了,看下面的错误很明显,tensorflow依赖下载是Downloading six-1.10.0-py2.py3-none-any.whl。解决的方法忽略six的安装使用系统自带。sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc0-py2-none-any.whl --upgrade --ignore-installed six
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
......
OSError: [Errno 1] Operation not permitted: '/tmp/pip-vhk0MW-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
解决这个问题后,安装tensorflow成功,下一步就是测试tensorflow了,用的是文档中的例子。
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
不过没那么顺利,新的问题出现了。
ImportError: numpy.core.multiarray failed to import
看下tensor flow安装依赖的是numpy1.11,那好吧,我就更新吧,sudo pip install -U numpy,安装不成功,原因竟然是mac 10.11后有了SIP 功能,那就关闭吧。步骤如下:
1.点击mac电脑的苹果图标
2.选择 重新启动
3.按住command+r,直到进入还原模式
4.选择实用工具(在屏幕顶部),然后点击终端
5.输入csrutil disable回车,然后重启
开启SIP 输入csrutil enable
注意:SIP功能是Apple在OSX上推出的系统完整性保护功能,对于普通MAC用户来说是一项安全保护功能,如果不了解他的作用请不要随意关闭,对于开发者来说,因为会使用到很多的第三方辅助工具(例如:Cocoapods、Homebrew),而这些工具可能会修改系统目录,在这些工具未推出适应OSX 10.11的版本时,有必要临时关闭SIP以确保开发工具的使用。
开启SIP继续安装numpy,使用的是pip,成功,运行例子还是报错。最后发现是又安装一个新版本,系统自带的还在,运行例子的时候用的系统的1.8版本不是新安装的1.11。好不,网上一通找,可以用 卸载系统自带的numpy,重新安装numpy。
好测试tensorflow成功