macOS10.13.2配置TensorFlow

安装Python

python3是通过Homebrew安装的,默认安装的是3.7.0版本,但TensorFlow目前只能在3.43.53.6上安装,因此首先需要安装3.6版本的python

首先运行命令

1
brew unlink python3

然后通过https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
找到要需要安装的python版本,我这里选择python:3.6.5_1 bottle,再用如下命令安装

1
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

此时输入

1
python3 --version

发现得到

1
Python 3.6.5

则安装成功,/usr/local/Cellar/python中有3.6.5_13.7.0两个文件夹。

安装Virtualenv

TensorFlow的官方教程推荐使用Virtualenv的方式安装TensorFlow
Virtualenv是一个与其他Python开发相互隔离的虚拟Python环境,它无法干扰同一计算机上的其他Python程序,也不会受其影响。要开始使用TensorFlow,只需要“激活”虚拟环境。总而言之,Virtualenv提供一种安全可靠的机制来安装和运行TensorFlow

Virtualenvwrapper则是对Virtualenv提供了简易的命令行封装,可以更方便地管理虚拟环境。

首先安装VirtualenvVirtualenvwrapper

1
2
pip3 install virtualenv
pip3 install virtualenvwrapper

然后查找virtualenvwrapper.sh的位置:

1
which virtualenvwrapper.sh

得到

1
/usr/local/bin/virtualenvwrapper.sh

安装完成后先设置WORKON_HOME,即环境的存储路径,并且运行source /usr/local/bin/virtualenvwrapper.sh,注意,如果你的virtualenvvirtualenvwrapper安装在Homebrew安装的Python3中,还需要设置VIRTUALENVWRAPPER_PYTHON路径,否则会报No module named 'virtualenvwrapper'的错误。

1
2
3
export WORKON_HOME=~/myLibs/pyenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

export命令和source命令加入到~/.bash_profile文件中,每次打开终端就无需初始化了。

一些常用的命令

1
2
3
4
5
workon                显示所有的环境名称
workon 环境名 进入/切换到该环境
deactivate 返回到系统环境
mkvirtualenv 环境名 新建环境
rmvirtualenv 移除环境

安装TensorFlow

安装

接下来安装TensorFlow,参考官方安装教程
首先输入下面的命令创建Virtualenv环境:

1
virtualenv --system-site-packages -p python3 ~/myLibs/pyenvs/tensorflow

然后输入下面命令激活Virtualenv环境:

1
2
cd ~/myLibs/pyenvs/tensorflow
source ./bin/activate # If using bash, sh, ksh, or zsh

执行上述source命令后,提示符应该会变成如下内容:

1
(tensorflow)$

接下来将TensorFlow及其所需的所有软件包安装到活动Virtualenv环境中:

1
(tensorflow)$ pip3 install --upgrade tensorflow

稍等片刻,TensorFlow就会安装完毕。

注意:每次在新的shell中使用TensorFlow时,都必须激活Virtualenv环境

如果Virtualenv环境当前未处于活动状态(即提示符不是(tensorflow) $),需调用以下命令:

1
2
cd ~/myLibs/pyenvs/tensorflow
source ./bin/activate

或者,找到activate文件所在的目录即~/myLibs/pyenvs/tensorflow/bin,在当前工作目录下直接执行下面命令也可快速进入虚拟环境,更方便快捷:

1
source ~/myLibs/pyenvs/tensorflow/bin/activate

进入虚拟环境后命令提示符将变成如下所示,则表示的tensorflow环境已处于活动状态:

1
(tensorflow) $

Virtualenv环境处于活动状态时,就可以从该shell运行TensorFlow程序了。

用完TensorFlow后,可以通过发出以下命令来停用此环境:

1
(tensorflow)$ deactivate

提示符将恢复为默认提示符。

测试

下面再运行一个简短的TensorFlow程序来测试其是否正确安装。
首先激活
shell中调用Python,如下所示:

1
$ python3

Python交互式shell中输入以下几行简短的程序代码:

1
2
3
4
5
>>> # python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

如果系统输出以下内容,则说明TensorFlow已加被正确安装:

1
Hello, TensorFlow!

如果发生错误,你就需要继续折腾了。

用PyCharm测试

新建PyCharm项目,一般需要做一番配置才可运行TensorFlow项目。

打开Preference,按照如下步骤操作即可。
pycharm1
pycharm2
pycharm3
pycharm4

卸载

如果需要卸载TensorFlow,只需移除之前创建的~/myLibs/pyenvs/tensorflow文件夹即可。

参考