mac安装 TensorFlow python开发环境

2017-11-13  本文已影响412人  曹波波

TensorFlow Python API 依赖 Python 2.7 版本.
而我的默认环境下,安装的Python 就是2.7 版本的,所以不用更换,直接安装即可。

$ python -V
屏幕快照 2017-11-13 下午12.49.04.png

开始安装

$ sudo easy_install pip
$ sudo easy_install --upgrade six
$ pip install tensorflow

前两部都很顺利,但是第三步提示
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/enum'
报错,只好sudo,用sudo权限试试:

$ sudo pip install tensorflow

但是仍然 OSError: [Errno 1] Operation not permitted:

这就尴尬了·······

一通百度谷歌,查到这是因为rootless是mac在升级为OS X EI Capitan之后,一个超然的权限管控机制(关键字SIP,有兴趣童鞋可以自己深挖),
它锁死了一些敏感的目录,例如/usr/bin/,不让可疑程序(例如无辜躺枪的gem)有可趁之机。
解决办法:
1)重启Mac,并在重启的时候按 Command + R,进入维护模式。
2)选择工具栏中的 “实用工具 - 终端”。
3)在终端中执行以下命令:

$ csrutil disable;

4)重新启动
然后打开终端:

$ sudo pip install tensorflow

终于:

Successfully installed backports.weakref-1.0.post1 bleach-1.5.0 funcsigs-1.0.2 futures-3.1.1 html5lib-0.9999999 markdown-2.6.9 mock-2.0.0 numpy-1.13.3 pbr-3.1.1 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc2 wheel-0.30.0

屏幕快照 2017-11-13 下午12.14.10.png

测试

打开一个 python 终端:

$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)

运行结果:


屏幕快照 2017-11-13 下午12.14.19.png

继续

>>> a = tf.constant(10)
>>> b = tf.constant(22)
>>> print sess.run(a+b)

运行结果:


屏幕快照 2017-11-13 下午12.16.17.png

用pycharm编译测试

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import tensorflow as tf

def helloworld():
    hello = tf.constant('Hello, TensorFlow!')
    sess = tf.Session()
    print sess.run(hello)


def plus_test():
    a = tf.constant(10)
    b = tf.constant(22)
    sess = tf.Session()
    print sess.run(a + b)


helloworld()
plus_test()

执行结果:

/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/caobo/PycharmProjects/TensorFlowTest/helloWorld.py
2017-11-13 12:59:40.324766: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
Hello, TensorFlow!
32

Process finished with exit code 0

当然,“I tensorflow/core/platform/cpu_feature_guard”这个,是warnings,不是error。这些warings的意思是说:你的机器上有这些指令集可以用,并且用了他们会加快你的CPU运行速度,但是你的TensorFlow在编译的时候并没有用到这些指令集。

你可以选择将头埋进沙子里。

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import tensorflow as tf

其他的找不到特别好的方案,说是需要git 最新代码,配置好再生成新的库再安装tensorflow。各种麻烦各种坑。想想办法,以后搞定这个事情。

最后

为了保持个人电脑的安全性,完事之后:
重新启动,按 Command + R,“实用工具 - 终端”,然后:

$ csrutil enable;
上一篇下一篇

猜你喜欢

热点阅读