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

  • 128
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

環境

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() 

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