TensorFlowの環境を作ろうとして、ハマったのでメモ。 ポイントだけ書いておく。
##用語
さらっとおさらい
###統合開発環境PyCharm
PythonのIDE。有名なので使います。今回はCE版
https://qiita.com/yamionp/items/f88d50da8d6b548fc44c
###pyenv
Pythonのバージョン切り替えに使用
基本的にPythonのバージョンごとに管理
同一バージョンで複数のPython環境を管理不可能(パッケージが混在する)
数値計算用のpython2.7.10と自然言語処理用のpython2.7.10にはならずpython2.7.10として数値計算ようのパッケージと自然言語処理用のパッケージが混在
###virtualenv
仮想環境の構築に使用
基本的にディレクトリ単位でPythonのバージョン,パッケージを管理
数値計算用のpython2.7.10と自然言語処理用のpython2.7.10分けて使用可能
https://qiita.com/niwak2/items/5490607be32202ce1314
##インストール
###brew cask
GUIまでインストールできちゃうhomebrew。便利なので入れておくことをおすすめします。
brew install caskroom/cask/brew-cask
なお、PyCharmはこんな感じでインストールできちゃいます。
https://qiita.com/ryurock/items/1432578d364985f6cb06
brew cask install pycharm-ce
###pyenvとpyenv-virtualenvをインストール
https://qiita.com/KazaKago/items/587ac1224afc2c9350f1
pyenv-virtualenvのインストール
$ brew install pyenv-virtualenv
###Pythonをインストール
例は3.5.2。TensorFlowではPythonのバージョンは「Requires Python 3.4, 3.5, or 3.6」と指定があった
https://www.tensorflow.org/install/pip
インストールできる一覧を表示するにはpyenv install -lと打ち込んで下さい
$ pyenv install 3.5.2
$ pyenv rehash
###xcode-select --installがうまくいかない場合(ここでハマった!!)
Pythonがインストールできない場合、xcode-select --installを打てというサイトが多いので、
やってみたがうまくいかない。
https://qiita.com/zreactor/items/c3fd04417e0d61af0afe
xcode-selectの最新バージョン(2354)にMojave用のmacOS SDK headerがデフォルトで入っていないのが原因のようです。マニュアルで以下をインストールする必要あるとのこと。
以下で解決しました
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
###TensorFlowの実行環境を作る
こうすることでローカルを汚さずに環境が作れます(例は環境名が"TensorFlow"。適宜変更)
$ pyenv virtualenv 3.5.2 TensorFlow
$ pyenv rehash
###作成したTensorFlow用の環境へ切り替え
pyenv globalを使って、作成したTensorFlow環境へ変更
$ pyenv global TensorFlow
$ python -V
Python 3.5.2
うまくPythonのバージョンが切り替わらない場合は、bash_profileに追記
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
反映するのを忘れずにね。
$ source ~/.bash_profile
####元に戻したいと時
$ pyenv global system
環境の指定は後述するPyCharmで行うので、ここでTensorFlow環境になっている必要はない
###pipのインストール
次にPython向けのプラグイン管理ツールであるpipをインストール
$ sudo easy_install pip
$ sudo pip install --upgrade pip
###TensorFlowのインストール
TensorFlowのインストール。適宜公式を参考に。
https://www.tensorflow.org/install/
$ pip install tensorflow
###PyCharmにて指定。
ここの説明があまり書いていないものが多くハマりました。
Preferences>Project Interpreter>設定ボタンから、先ほど作ったTensorFlow環境を「Add」すると、
以下のように追加される。追加されたら、New Projectで新規プロジェクト作成時に、環境として選べるようになる。