mac基于VirtualEnv安装TensorFlow(python 升级)
安装环境:mac pro 10.12.6,可翻墙
本文共两部分:升级python和安装TensorFlow
升级python参考:https://blog.****.net/hou_manager/article/details/79555809
安装TensorFlow以及demo:https://blog.****.net/Cloudox_/article/details/77823389
安装TensorFlow:http://www.tensorfly.cn/tfdoc/get_started/os_setup.html#virtualenv_install
TensorFlow官网:https://www.tensorflow.org/guide/
STEP 1 安装Xcode
安装 Xcode 命令行工具,一般mac自带。
xcode-select --install
STEP 2 安装Homebrew
参考:https://blog.****.net/qq_41234116/article/details/79366454
1、安装Homebrew
可以参考官网或者直接粘贴:PS:据说下载的命令是会更新的,最好还是及时去官网找最新的下载命令。
2、安装成功,出现字样“安装成功”
Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。 这时你在命令行状态下面就可以使用 brew 命令了。
STEP 3 安装Python
要正式进入安装Python的步骤了!
1、首先,输入
python --version
会有如下结果:
这是Mac系统要使用的Python,不去动它。所以现在我们要用homebrew来安装自己使用的Python。
2、利用homebrew搜索Python
brew search python
- 会有如下结果:
3、开始安装:默认安装的是python3
brew install python
出现如下图样式,安装成功
注:制定按照版本,
- python2命令
brew install python2
- python3安装
brew install python3
4、安装成功后,查看安装的目录
open /usr/local/Cellar/
STEP 4 设定路径$PATH (不和系统Python干扰)
什么是路径$PATH呢?
还记得我们在装Python的时候,输入了brew, 系统就自动会知道要开始跑homebrew。 系统到底怎么知道我们的brew在哪里?
这就是$PATH的用途了!
echo $PATH
如图所示
分号(:)是分隔的意思 ,所以当你在terminal里面输入brew时 ,系统就会开始从/usr/bin找起 ,如果在/usr/bin里面找不到的话,就会往下一个/bin去搜寻,以此类推。
现在,我们回到文件夹去看 ,brew其实就在/usr/local/bin里面
所以现在的问题就是,系统在/usr/bin里面也有一份Python
现在我们在/usr/local/Cellar里面也装了Python
这样在terminal打上python指令时,谁会被开启呢?
因为路径有顺序,所以它会先找到系统的Python ,现在就要来解决这个问题
sudo emacs /etc/paths
sudo让我们取得管理员权限 ,用emacs这个程序编辑路径档案 ,terminal会要求输入密码
如果不是这个顺序,调整成这个顺序。
control + k:把一行字剪下来
control + y:把字粘贴
control + x + s:存盘
control + x + c:关掉emacs
这时,重启terminal 会看到变化,再打一次
echo $PATH
STEP 5 安装完成,确认结果
这样就完成啰!
其实python3本身比较不会跟其他人打架
因为他就是独立的python3 ,所以我们主要是要确认是不是读到我们用brew装的python
which python
如图所示带便安装成功。
如果想使用系统的Python,就输入
/usr/bin/python
查看python3 目录,发现其目录是在local下,可以看到有python3
cd /usr/local/bin
查看系统的安装的各个python 版本如下:
我这里未按照python2,所有看没有目录。
STEP 6 做虚拟环境
参考:https://www.jianshu.com/p/3b12ca94ef0c
在 ~ 目录下新建一个python的文件夹,然后在python里面再新建python3,然后进入到对应的文件夹里安装虚拟环境。
(~ = /Users/mazhongxin 也就是说,你的home目录。参考:https://www.jianshu.com/p/9cbc9e9633f7)
1、打开终端输入框,就是自己的home目录,新建python 文件夹, 在新建python3文件夹
2、进入到python3 目录执行下面命令
$ cd ~/python/python3
$ sudo pip3 install virtualenv
$ virtualenv venv_py3 #根据使用情况判断是否使用该目录,我这里并没有使用这个目录,直接跳过,使用另一个目录了
$ . venv_py3/bin/activate #启动虚拟环境,我这里并没有使用这个目录,直接跳过,使用另一个目录了
3、接下来, 建立一个全新的 virtualenv 环境。为了将环境建在 ~/tensorflow 目录下, 执行:
$ virtualenv --system-site-packages ~/tensorflow
$ cd ~/tensorflow #进入该目录
4、环境变量配置
执行命令:open ~/.bash_profile, 配置之后pip3只能在虚拟环境中才可使用, 如果在非虚拟环境下会报错
open ~/.bash_profile
添加以下内容export PIP_REQUIRE_VIRTUALENV=true
保存配置的环境变量:source ~/.bash_profile
source ~/.bash_profile
在非虚拟环境下执行报错,如下:
STEP 7 安装tensorflow
1、终端命令窗口,进入step6新建目录虚拟目录:tensorflow
2、然后, ** virtualenv(不用了就要手动停用):
$ source bin/activate # 如果使用 bash
$ source bin/activate.csh # 如果使用 csh
(tensorflow)$ # 终端提示符应该发生变化
上面两个source命令只需要根据情况运行一种,我使用的是第一种,执行命令后,命令前会多一个(tensorflow)提示符,这表示**成功了,之后的操作都会在此环境下运行。
3、接着就在 virtualenv 内, 安装 TensorFlow:
(tensorflow)$ pip install --upgrade <$url_to_binary.whl> #尖括号中<>中的内容根据版本不同而不同
注意,根据版本不同使用不同whl: 参考官网:软件包位置部分
我这里使用的是,mac 版本目前仅支持 CPU: pip3 install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.12.0-py3-none-any.whl
(tensorflow)$ pip3 install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.12.0-py3-none-any.whl
其他版本大同小异,比如改系统名,改版本号数字,改python版本数字,有无GPU等,版本信息可以在github看到最新的。我这里按照的python 使用的是3.7版本。
到此,TensorFlow就安装完成了!
STEP 8 写个Hellow World
常见的,安装完后我们写个小程序来试一试,我用的是python语言:注意我这里使用的python3。(python2的语法和python3 有不同之处,比如print)
import tensorflow as tf
# 输出Hello, TensorFlow!
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print (sess.run(hello))
# 计算 10 + 32 并输出
a = tf.constant(10)
b = tf.constant(32)
print (sess.run(a+b))
# 把一个1*2的矩阵和一个2*1的矩阵相乘并输出
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1, matrix2)
result = sess.run(product)
print (result)
sess.close()
关于这段代码做什么,注释里已经说了,其实大概也能看懂,具体的语法可以到官网或者中文社区去学习,了解基本用法就能看懂了。
要运行,只需要把这段代码放到一个命名为 hello.py 的python文件,将文件放到我们创建的~/tensorflow目录(如果找不到这个目录,可以在终端输入 open ~/tensorflow 来在Finder中显示目录)下,或者其他目录下也可以,只是要在终端命令中进入该目录,然后运行该python文件即可:
(tensorflow)$ python hello.py
输出结果应该为:
除了结果之外,如果安装的是无GPU版本的,它可能还会提示你可以利用GPU来急速计算。
不再使用之后,最好停用 virtualenv:
# 当使用完 TensorFlow
(tensorflow)$ deactivate # 停用 virtualenv
$ # 你的命令提示符会恢复原样
关于 TensorFlow
TensorFlow主要方便用来做复杂计算的,它是一个数值节点、操作节点以及之间连线表示流程图的结构,想象一下神经网络,还是很相似的。