はじめに
pythonの環境構築を今後のためにまとめておきます。
- バージョン管理をします ( pyenv )
- 環境管理をします ( virtualenv )
- anacondaも使います ( anaconda: 便利なpythonパッケージ )
- iPython notebookにも触れます ( 知らないと損な開発 must item )
基本設定
pyenv virtualenv のインストール
まず、homebrewで pyenvとvirtualenvをインストールします。
( homebrewはインストール済みの前提です。 )
pyenvでバージョンの管理が出来ます。
virtualenvで開発環境など環境ごとの管理が出来ます。
$ brew install pyenv
$ brew install pyenv-virtualenv
パスを通す
次に、パスを通します。 .bash_profile
に下記を記述します。そうするとターミナルの起動時に自動的に読み込みんでくれるようになります。(ログインshellがbashではない方は適宜対応して下さい)
PYENV_ROOT=~/.pyenv
export PATH=$PATH:$PYENV_ROOT/bin
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
パスを通すことで以下のようにコマンドを実行させることが出来るようになります。
$ pyenv
.bash_profile
を一旦読み込みます。
$ source ~/.bash_profile
anacondaをpyenvでインストール
anacondaのインストール
さて、pythonをインストールしていきます。
$ pyenv install --list
こうするとインストール可能なpythonのバージョン一覧が見れます。この中から好きなバージョンのpythonをインストールすることが出来ます。
ここではanacondaをインストールしていきます。anacondaとはPython本体とよく使うパッケージをまとめてセットアップして用意してくれているもので、とても便利なものです。python単体をインストールするよりもこちらのほうが楽です。
$ pyenv install anaconda3-2.4.1
このコマンドは完了までに時間がかかります。これでPython3に各種パッケージがインストールされたanacondaがインストールされます。
使用バージョンを切り替える
現在使用されているバージョンを確認します。
$ pyenv versions
以下のように anaconda3-2.4.1
があればオーケーです。 *
がついているのが現在しようしているバージョンなので anaconda3-2.4.1
に切り替えましょう。
* system
anaconda3-2.4.1 (set by /Users/your_name/.pyenv/version)
$ pyenv global anaconda3-2.4.1
$ pyenv versions
system
* anaconda3-2.4.1 (set by /Users/your_name/.pyenv/version)
他のバージョンのインストール
さて、これでpythonを使えるようになったわけですが、 python2のanacondaもインストールしておきましょう。
$ pyenv install anaconda-2.4.0
system
anaconda-2.4.0
* anaconda3-2.4.1 (set by /Users/your_name/.pyenv/version)
あとは以下のようにいつでも切り替えられます。python2系、python3系は使い分ける必要がある場面もあるので両方用意しておくのが良いかと思います。簡単にバージョンを切り替えられる pyenv
の強みが少し感じられたのではないでしょうか。
$ pyenv global anaconda-2.4.0
※ 特になければ、新しいpython3系を使うのが良いと思います。
ipython notebook を使ってみる
anacondaをインストールしたことで、好きなバージョンのpythonが使えるようになりました。
pythonで開発するなら知らないといけない ipython notebook
を軽く触れておきましょう。
anacondaをインストールすると、既に環境は整っています。
$ ipython notebook
と打つとブラウザが立ち上がります。
ブラウザの右上の「New」 > 「Python3」から新しいファイルを作成出来ます。
ファイルが開くとpythonのコードを書くことが出来、「Shift + enter」 でセル内のコードを実行出来ます。
以下のような感じでグラフの描画もラクラク出来ます。
開発していく中でとても強力なツールなので使えるようにしておくとよいでしょう。
以前、データ分析に関する投稿をしましたが、これも全てipython notebook上で行っています。
Pythonでデータ分析実践演習 ~2016 New Coder Survey 編~
virtual-envによる環境管理
チーム開発する上でメンバーと開発環境を統一する必要があります。
そんなときは環境ごとにセットアップするのがよいと思います。
virtual-envの作成
まず、共通のバージョンのpythonをインストールします。(ここでは3.5系)
$ pyenv install 3.5.1
$ pyenv virtualenv 3.5.1 hoge
これで 3.5.1の 「hoge」という名前の環境が出来ます。
それで環境を指定するディレクトリに移動します。
そしてその中でバージョンを指定します。
$ pyenv local hoge
こうすることでこのディレクトリ内では 「hoge」の環境が適用されます。
これだけで環境のセッティングは完了です。
注意するのはanacondaと違って純粋なpythonなので必要なパッケージはインストールの必要があります。
パッケージのインストールと管理
以下のように必要なパッケージはインストールしていきましょう。下の numpy
のインストールは例です。
$ pip install numpy
さて、他の人と環境を統一するためにはインストールしたパッケージのバージョンも同期する必要があります。
それでは自分の環境を出力してみます。
$ pip freeze > requirements.txt
pip freeze
で右側のファイル名は出力ファイル名です。一般的に requirements.txt
に出力するようなのでこの名前にするのがbetterかと思います。
例えば、numpyだけinstallしてみてrequirements.txtに出力してみました。
$ pip install numpy
$ pip freeze > requirements.txt
$ cat requirements.txt
numpy==1.11.1
他の人はこのファイルからパッケージをインストールします。
$ pip install -r requirements.txt
これでファイルに記述してあるパッケージがインストールされます。
githubのレポジトリのREADME内でパッケージをインストールさせるところでよく見かけます。
virtual-envの削除
最後に、このvirtual環境を削除する方法です。
$ pyenv uninstall hoge
これで作成したvirtual環境を削除出来ます。