MacOS 搭建 TensorFlow Python 环境管理 Pycharm

[TOC]

参照 https://www.tensorflow.org/install/install_mac

首先确认环境

mac 10.10 默认的python环境是 2.6的不能使用
即使是最新的macOS也不能用于python开发
故需要确认一下当前的主python环境

python -V
python3 -V
pip -V
pip3 -V

更新pip

pip install --upgrade pip
pip -V

如果 安装报错

You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

修复方法

python -m pip install --upgrade pip
python3 -m pip install --upgrade pip

推荐方式 Anaconda 管理虚拟环境

因为python的运行环境版本直接存在不兼容,所以需要一个灵活切换py版本的工具
而python的科学计算环境中 conda 提供了一个很好用的工具miniconda

https://conda.io/miniconda.html

历史版本下载,推荐版本 4.3.11

https://repo.continuum.io/miniconda/

  • macOS 安装 conda
brew install brew-cask
brew cask info caskroom/cask/miniconda
brew cask install caskroom/cask/miniconda

安装后在 ~/miniconda3 文件夹中

brew 都没有,或者连接太慢,自己想办法吧

  • 配置 conda 环境变量

.bash_profile


# caskroom/cask/miniconda
MINI_CONDA_BIN=~/miniconda3/bin/
export MINI_CONDA_BIN
export PATH=$PATH:$MINI_CONDA_BIN

注意:
使用conda list命令的环境时python版本切换到anaconda版本下,不然,无法使用
anaconda的环境下,也是只能使用系统pip命令安装插件包

cd ~/MyProjects
conda create -n tf python=3.5 anaconda
#
# To activate this environment, use:
# > source activate tensorflow
#
# To deactivate this environment, use:
# > source deactivate tensorflow
# 进入虚拟环境
source activate tf
pip -V
# for Python 2.7 or virsual env
pip install --upgrade tensorflow
# for Python 3.n
pip3 install --upgrade tensorflow
# for Python 2.7 or virsual env as GPU
pip install --upgrade tensorflow-gpu
# for Python 3.n and GPU
pip3 install --upgrade tensorflow-gpu
# 目标版本安装
pip install --ignore-installed --upgrade $TF_PYTHON_URL
# mac
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.1.0-py3-none-any.whl
# win
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.1-cp35-cp35m-win_amd64.whl
# 退出 虚拟环境
source deactivate tf

对应的TF新的发布包点击查看

$TF_PYTHON_URL

测试是否配置成功

hello_tensor_flow.py 文件中写入

import tensorflow as tf

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

测试运行

python3 hello_tensor_flow.py

出现类似 W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations. 这种警告是因为当前设备不能支持 GPU模式导致,需要安装CUDA之类,macOS这种低配电脑就别想了,看着警告开发吧,调试上Linux或者Windows

运行后出现OpKernel的错误,需要下载最新编译的版本,然后升级TensorFlow

pip install --upgrade $TF_PYTHON_URL

Pycharm 中使用miniconda创建的虚拟环境

  • 还是打开工程,代码会报错,无视之,按快捷键 cmd+,进入设置
    输入Project Interpreter
  • 点击右边页面最右边的齿轮,选择Add Local
  • miniconda的安装目录下寻找envs,里面有你创建的虚拟环境比如(tf),展开环境文件夹
  • 选择的子目录中bin文件夹,展开
  • 找到python3或者python,点击Ok

然后就是几分钟的索引时间,然后你就可以在pycharm中使用虚拟机环境了

Pycharm开发tensorflow注意事项

  • jvm内存配置高一点,不然IDE会内存不足崩溃
  • 把训练资源目录右键Mark Directory as 选择 Exclusion,这样防止卡顿

其他TF开发环境管理方式

virtualenv 虚拟环境方式

pip install --upgrade virtualenv
virtualenv --system-site-packages ~/MyProjects/tensorflow-projects
cd ~/MyProjects/tensorflow-projects

激活环境

source bin/activate

这个时候命令行应该变成

(tensorflow-projects) ➜  tensorflow-projects

退出虚拟环境

deactivate

在虚拟环境中安装 tensorflow

  • 二进制安装
pip3 -V
pip3 install --upgrade \ https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.0.1-py3-none-any.whl
  • 编译安装
 $ pip install --upgrade tensorflow      # for Python 2.7
 $ pip3 install --upgrade tensorflow     # for Python 3.n
 $ pip install --upgrade tensorflow-gpu  # for Python 2.7 and GPU
 $ pip3 install --upgrade tensorflow-gpu # for Python 3.n and GPU

更新 tensorflow

 $ pip install --upgrade TF_BINARY_URL   # Python 2.7
 $ pip3 install --upgrade TF_BINARY_URL  # Python 3.N

卸载环境

deactivate
rm -r ~/MyProjects/tensorflow-projects

docker 方式安装

macOS 只能使用CPU模式的

docker run -it -p [port]:8888 --name "tensorflow" tensorflow/tensorflow

https://store.docker.com/community/images/tensorflow/tensorflow

pyenv 管理

安装 pyevn 和 pyenv virtualenv

  • mac
brew install pyenv-virtualenv

add ~/.zshrc

# python evn
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
export PYENV_ROOT=/usr/local/var/pyenv

这里是因为我的mac使用了zsh+on-my-zsh组合才有.zshrc,没做工具链的请绕道

  • Linux
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

安装基础环境

pyenv install anaconda3-4.3.1
pyenv virtualenv anaconda3-4.3.1 anaconda3

#
# To activate this environment, use:
# > source activate anaconda3
#
# To deactivate this environment, use:
# > source deactivate anaconda3
#

pyenv activate anaconda3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容