$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

pyenv + venvでPython3環境を構築する

機械学習のモチベーションを上げるためにTensorFlowを触ろうとしている。まずは環境設定でしょうということで、ひとまずPython3環境を作る。今はpyenv + venvで作るのが良いみたいなので、それでやってみたメモ。

pyenvでpythonをインストールする

pyenvが必要かどうかフローチャート - Qiita も参考にしたのだけど、まあ細かくPythonのversionを指定したくなる時もありそうだし、とりあえずpyenvを入れておく。

自分は anyenv を使っているので、それでpyenvをインストール。

$ anyenv install pyenv

次にpyenvでpython 3.6.1をインストール。

$ pyenv install 3.6.1
$ pyenv versions
  system
* 3.6.1 (set by /Users/shibayu36/.anyenv/envs/pyenv/version)

これでOK。

venvで環境を作る

pythonで、bundlerやnpmみたいにあるディレクトリ配下の環境を作りたい場合、virtualenv というのを使うと良いみたい。また今はpython標準でvenvという名前でvirtualenvが取り込まれたので、それを利用してみる。

環境の用意

まずTensorFlowを試すことを見越して、tensorflow-playgroundというディレクトリで環境を作ってみる。

$ mkdir tensorflow-playground
$ cd tensorflow-playground
$ python3.6 -m venv .

これでこのディレクトリ配下にbinincludeなどのディレクトリが出来たので、用意完了。

環境に入る

それでこの環境で作業したいときは、以下のコマンドを実行する。

$ source bin/activate

するとプロンプトに以下のように環境名が表示される。これでこの環境内で作業が出来るようになる。

(tensorflow-playground) $

環境から出る

deactivateすれば出れる。

$ deactivate

プロンプトから(tensorflow-playground)の表示が消えたらOK。

実際にvenvの環境下でtensorflowをインストールしてみる

あとはうまくいっているか確認。tensorflowをインストールしてみる。https://www.tensorflow.org/install/install_mac

$ source bin/activate
$ pip install --upgrade tensorflow
$ ls lib/python3.6/site-packages/

するとこのディレクトリのlib/python3.6/site-packages/にそれっぽいファイルがインストールされたのでうまくいってそう!ディレクトリ配下にインストールされる形式なので、npmの環境構築と似てますね。

まとめ

今回はTensorFlowを触る前準備として、まずは最近のpython環境について調べて、環境を用意してみた。

毎回何かを触るときにはその前段階でいろいろやっちゃうことが多い。たぶんこれからEmacsの設定が待っている。まあ楽しいからいいんだけど。