はじめに
Pythonの開発環境が全くない状態からTensorFlowの開発環境を構築する方法を説明します。
なので、すでにPythonでプログラミングしている方はTensorFlowの部分だけかいつまんで読んでください。本記事のターゲットは「Python? ピー…ツォン? よくわからんけどTensorFlow使いたいぜ」的な人です(ちょっと前までの私)。
環境
- OS:macOS Sierra 10.12.3
- Homebrew:1.1.11
Homebrew/homebrew-core (git revision f9140; last commit 2017-03-26) - pyenv:1.0.9
- Python:3.6.1
- TensorFlow:1.0.0
- PyCharm:Community Edition 2017.1 (PC-171.3780.115)
開発環境構築
Homebrewのインストール・アップデート
インストール手順は省略します。
すでにインストールされている場合、アップデートのみ実行します。
$ brew update
pyenv-virtualenvのインストール
pyenv-virtualenvは、Python環境の仮想化ツールです。実環境を汚さずにTensorFlow用のPython環境を構築できるので導入します。
$ brew install pyenv-virtualenv
~/.bash_profile
に以下を追記し、パスを通します。
+ export PYENV_ROOT="$HOME/.pyenv"
+ if [ -d "${PYENV_ROOT}" ]; then
+ export PATH="$PATH:$HOME/.pyenv/bin"
+ eval "$(pyenv init -)"
+ eval "$(pyenv virtualenv-init -)"
+ fi
Python3系のインストール
PythonをAnacondaでインストールします。Anacondaとは、Pythonとその主なパッケージを一括でインストールできるパッケージです。
以下のコマンドを実行し、Anacondaの最新バージョンを確認します。2017/03/27時点では「anaconda3-4.3.0」が最新です。
$ pyenv install -l
Available versions:
…
anaconda-1.4.0
anaconda-1.5.0
…
anaconda3-4.3.0
…
Anacondaの最新バージョンをインストールします。通信環境によっては時間がかかります。
$ pyenv install anaconda3-4.3.0
エラーが発生した場合、以下を実行してから再度Anacondaをインストールします。
$ xcode-select --install
$ pyenv rehash
Anacondaのインストールが完了したら、インストールされたか確認します。「anaconda3-4.3.0」があればOKです。
$ pyenv versions
* system (set by /Users/{ユーザー名}/.pyenv/version)
anaconda3-4.3.0
$ ls ~/.pyenv/versions/
anaconda3-4.3.0
仮想環境作成
「anaconda3-4.3.0」を元に、任意の名前の仮想環境を作成します。ここでは「tensorFlow」とします。
$ pyenv virtualenv anaconda3-4.3.0 tensorFlow
$ pyenv rehash
仮想環境が作成されたか確認します。「anaconda3-4.3.0/envs/tensorFlow」と「tensorFlow」があればOKです。この2つの違いはまだわかっていません。。
$ pyenv versions
* system (set by /Users/{ユーザー名}/.pyenv/version)
anaconda3-4.3.0
anaconda3-4.3.0/envs/tensorFlow
tensorFlow
仮想環境の切替
先ほど作成した仮想環境に切り替えます。
$ pyenv global tensorFlow
環境が切り替わったか確認します。「tensorFlow」の先頭に「*」が付いていれば環境が切り替わっています。Pythonのバージョンも確認しておきます。anaconda3-4.3.0では3.6.1のようです。
$ pyenv versions
system
anaconda3-4.3.0
anaconda3-4.3.0/envs/tensorFlow
* tensorFlow (set by /Users/{ユーザー名}/.pyenv/version)
$ python --version
Python 3.6.1 :: Continuum Analytics, Inc.
pip3のインストール・アップデート
Python3系のパッケージ管理ツールであるpip3をインストールします。
$ sudo easy_install pip
$ sudo easy_install --upgrade six
$ pip install --upgrade pip
パッケージのインストール
matplotlibはグラフ描写ライブラリで、よく使うのでインストールしておきます。
jupyterは簡単にいうとPythonを対話式で動かすツールです。PyCharmを使う場合は不要かもしれませんが、便利なのでインストールしておきます。
$ sudo pip3 install matplotlib
$ sudo pip3 install jupyter
どちらもAnacondaに含まれているはずなのに、なぜかここでインストールしないと使えないです。パッケージも引き継がれると思うのですが。。
TensorFlowのインストール
公式サイトの5.を参照し、環境に合ったTensorFlowをpip3でインストールします。
私が使用しているMacBookはGPUを積んでいないため、CPU onlyを選択しました。
# Mac OS X, CPU only, Python 3.n
$ pip3 install --upgrade tensorflow
仮想環境の再切替
後述しますが、別の箇所でPython環境を指定するため、ターミナルで指定した仮想環境は元に戻して構いません。
$ pyenv global system
仮想環境のアンインストール
もし仮想環境を削除したい場合、以下のコマンドを実行します。
$ sudo pyenv uninstall -f {仮想環境名}
PyCharmのインストール
PythonのIDEであるPyCharm(パイチャーム)をインストールします。
公式サイトからCommunity(無料版)の[DOWNLOAD]ボタンをクリックしてインストーラをダウンロードします。通信環境によっては時間がかかります。
ダウンロードが完了したら、ダブルクリックで実行してインストールします。
インストールしたら起動します。新規インストールなので、「Do not import settings」を選択して[OK]ボタンをクリックします。
Initial Configuration(初期設定)はSkipしていいです。
PyCharmの設定
PyCharmの設定を変更します。
1行に80文字以上記述すると警告を出すようにする
∵PEP8(Pythonのコーディング規約)が1行79文字までと定めているため
Preferences…
Editor > Code Style
Default Options
Right margin (columns):120→79
空白行のスペースを可視化する
∵空白行にスペースを含めたくないため
Preferences…
Editor > General > Appearance
Show whitespaces:OFF→ON
Trailing以外OFFにする
補完時に大文字小文字を区別しない
Preferences…
Editor > General > Code Completion
Code Completion
Case sensitive completion: First letter→None
Vimプラグインの導入
こちらはお好みで入れてください。
Preferences…
Plugins
Install JetBrains plugin…
「vim」で検索してIdeaVimをインストールする
PyCharmのプロジェクト作成
Create New Project
- Location:プロジェクトのパスです。
最後の部分がプロジェクト名になるので、「tensorFlowTest」のように変更します。 - Interpreter:適用するPython環境です。
作成した仮想環境「~/.pyenv/versions/tensorFlow/bin/python」を選択すればOKです。
そのあとに表示されるTipはCloseしていいです。
おわりに
これでTensorFlowの開発環境構築は完了です。素敵なTensorFlowライフを楽しみましょう!
参考リンク
- Python未経験エンジニアがMacでTensorFlowの実行環境+快適なコーディング環境を構築するまで - Qiita
- pyenv/pyenv-virtualenv: a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)
- 仮想環境 バージョン管理 まとめ Python - Qiita
- pyenv-virtualenvでディレクトリ単位のpython環境構築 - Qiita
- VimからPyCharmに乗り換え(機能の把握と設定) - c-bata web
- 【Python】IDEのPyCharmのインストールと初期設定について - TASK NOTES