Pychef's Diary

I consider myself an engineer, aren't I?

標準Pythonが好きです。でも、Anacondaのほうがもっと好きです。

お疲れさまです。夏休み最終日のpychefです。

きのう、『ビジネス活用事例で学ぶ データサイエンス入門』第3章のggplot2エラー対処法 - pychef’s diaryid:rep0oooさんにツイートしていただき、著者のid:yokkunsさんにまでRTして頂いたことで、今朝はアナリティクスを見てすこし幸せになることができました。ありがとうございます。なにより、同じ箇所でつまづいた方がいたと知ることができて、書いて良かったと感じました。

 

さて、きょうはPythonディストリビューションの一つであるAnacondaを軽く紹介します。個人的には、必要にして十分なモジュールの数々をオールインワンでインストールできる最強のディストリビューションだと思っています。

 

きっと、以下の方々がAnacondaによって幸せになれるはずです

  1. これからPythonを始めたい人
  2. 標準Pythonをいれたけどsetuptoolsなんじゃそりゃな人
  3. データ分析したいけどモジュール収集・構築がめんどい人
  4. Pythonとモジュールを綺麗にインストール・アンインストールしたい人

DLはここからどうぞ! ※DLに時間かかります。20−30分くらいかかった記憶が。

http://continuum.io/downloads

 

Anacondaってなに?

Anaconda is a free collection of powerful packages for Python that enables large-scale data management, analysis, and visualization for Business Intelligence, Scientific Analysis, Engineering, Machine Learning, and more.

Anacondaは、データ分析・科学計算に重きを置いたディストリビューションです。Python本体に加えて、データ分析や科学計算に使えるモジュール群が付いてきます。 

「標準Pythonインストール→setuptoolsインストール→easy_install xxx→easy_install yyy 」でモジュールをインストールしていくのが通常フローですが、Anacondaには予め必要そうなモジュールが多く入っているので環境構築の手間が大幅に省けます。

 

なにが入ってるの?

書き出したかったのですが、URL先の表がわかりやすいので飛んでみてください!

チェックが入っているのが、標準搭載のモジュールです。これだけあれば、とりあえず十分でしょう。

http://docs.continuum.io/anaconda/pkg-docs.html

 

f:id:pychef:20140820104520p:plain

  

もっと便利に使いたい!Python 2系、3系を共存させたい

pyenvを使いましょう。どちらのバージョンも共存させられる素晴らしいツールです。

しかも、設定が超簡単Mac限定の話になりますが、以下のエントリが役立ちます。

 

Python開発環境構築 徹底解説[pyenv, Mavericks] - 酒と泪とRubyとRailsと 

pyenvの設定

vim ~/.zshrcで以下の内容を追記。

1
2
3
4
5
6
# pyenv
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi

完了したら、source ~/.zshrcを実行。

自分の場合↑を.bash_profileに追記して、pyenvが使えるようになりました。

 

pyenvが利用可能になったら、順に

pyenv install anaconda-2.0.1 

pyenv install anaconda3-2.0.1

でPython2系、3系のAnacondaをDL・インストールしましょう。

 

インストール後、

Python 2.7.7をつかいたい」ということであれば、pyenv global anaconda-2.0.1 

「今度は3.4.1をつかいたい」ということであれば、pyenv global anaconda3-2.0.1 

と打てば、バージョン間でスイッチングができます(現在のバージョンは、pyenv versionsで確認可能)。