Help us understand the problem. What is going on with this article?

Python3なTensorFlow環境構築 (Macとpyenv virtualenv)

More than 1 year has passed since last update.

環境

Mac OS X El Capitan 10.11.3
MacBook Pro (Retina, 13-inch Early 2015)

準備

HomeBrewが必要なので、無ければインストール

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

pyenv

複数バージョンのPython環境を管理して、コマンドで切り替えることができる。

インストール

$ brew install pyenv

~/.profileに下記を追記

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"

現在のPythonインストール状況を確認(環境構築前ならシステムのみが表示されている)

$ pyenv versions
* system (set by /Users/yusuke/.pyenv/version)

インストール可能なPythonバージョンの一覧表示(結果は必要そうなとこだけ表示)

$ pyenv install --list
  2.7.11
  ...
  3.5.1
  ...
  anaconda3-2.4.0
  ...

最新のPython3をインストール

$ pyenv install 3.5.1

こういうエラーが出た場合は

zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

コマンドラインツールをインストール

$ xcode-select --install

設定読み直して

$ . .profile

インストールやり直す

$ pyenv install 3.5.1

インストール後はrehashした方が良いらしい

$ pyenv rehash

インストールされている環境を確認するとこうなっているはずです

$ pyenv versions
* system (set by /Users/yusuke/.pyenv/version)
  3.5.1

デフォルトの環境を3.5.1に設定して確認

$ pyenv global 3.5.1
$ pyenv versions
  system
* 3.5.1 (set by /Users/yusuke/.pyenv/version)

anaconda

Pythonと数値計算ライブラリを色々同時にインストールできるディストリビューション、今回は使いませんが、これは便利なのでインストールしておきます。
Python3系の場合はanaconda3を選ぶ、最新バージョンは2.4.0なのでインストールは下記コマンド

$ pyenv install anaconda3-2.4.0

インストール後のrehash

$ pyenv rehash

インストール済み環境を確認するとこのようになるはずです

$ pyenv versions
  system
* 3.5.1 (set by /Users/yusuke/.pyenv/version)
  anaconda3-2.4.0

virtualenv

今回は使いません。
pyenvはバージョンごとに環境を持つのにたいして、virtualenvでは環境に名前を付けて(同じバージョンのPythonでもpython35hoge, python35fugaという感じに別の名前をつけて保持できる)その環境を切り替えることができます。

pyenv-virtualenv

pyenvだとバージョンごとに管理だったが、pyenvの環境に名前を付けて更に細かく管理して、切り替えることができる

インストール

$ brew install pyenv-virtualenv

今回はPython3.5.1でTensorFlowの環境を作りたいのでpy351tensorflowという名前を付けておきましょう。
インストールと確認は下記の通りです。

$ pyenv version
3.5.1 (set by /Users/yusuke/.pyenv/version)
$ pyenv virtualenv 3.5.1 py351tensorflow
$ pyenv rehash
$ pyenv versions
  system
* 3.5.1 (set by /Users/yusuke/.pyenv/version)
  3.5.1/envs/py351tensorflow
  anaconda3-2.4.0
  py351tensorflow

TensorFlow

Googleが2015年11月にオープンソース化した機械学習ライブラリ。詳しい解説はググればいっぱい出てくるのでここでは割愛します。

公式のドキュメントはこちらに
https://www.tensorflow.org/versions/master/get_started/os_setup.html

先ほどpyenv-virtualenvでインストールしたpy351tensorflow環境を使います

$ pyenv global py351tensorflow
$ pyenv version
py351tensorflow (set by /Users/yusuke/.pyenv/version)

Python3用のバージョン0.6.0をインストール

$ pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.6.0-py3-none-any.whl

インストール成功

Successfully installed numpy-1.10.4 protobuf-3.0.0a3 setuptools-19.6 six-1.10.0 tensorflow-0.6.0 wheel-0.26.0

公式のドキュメントの通りに動作確認

$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
I tensorflow/core/common_runtime/local_device.cc:40] Local device intra op parallelism threads: 4
I tensorflow/core/common_runtime/direct_session.cc:58] Direct session inter op parallelism threads: 4
>>> print(sess.run(hello))
b'Hello, TensorFlow!'
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>> quit() 

この通りになればインストールも成功しています

hatapu
showroom
SHOWROOMは、アイドルやアーティストとインターネット上でコミュニケーションが楽しめるライブ動画ストリーミングプラットフォームです。
https://www.showroom-live.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした