HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ

  • 381
    Like
  • 14
    Comment

Homebrew:「Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである」 by wikipedia

pyenv:様々なバージョンのPythonを管理するツール。導入することで,Python v2系とv3系など,複数のバージョンの切り替えが容易になる。

Anaconda: Python本体に加え,科学計算やデータ分析などに使えるライブラリがセットで入っているパッケージ。

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.

環境

Mac OSX 10.11.3 (筆者の環境)

メモ

コマンドはターミナル上にそのまま入力。「\$」以降がそれぞれ一つのコマンドとなってます。「\$」マークは入力不要です。

1. Homebrewがインストール済か確認

Terminal
$ brew --version  

Homebrew 0.9.5 などと出る方はインストール済なので,3.へ

2. Homebrewのインストール

Homebrewがインストールされていない方

Terminal
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

3. Homebrew環境のアップデート

Terminal
$ brew update --force && brew upgrade

4.pyenvのインストール

・bashを使っている場合

Terminal
$ brew install pyenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

$ exec $SHELL -l

※zshを使っている場合は,~/.bash_profileを~/.zshrcへ置き換えてください。

5.Python (Anaconda) のインストール

$ pyenv install -l でインストール可能なバージョン一覧を表示できるので,
anacondaの最新バージョンはそちらで確認してください。

Python version 3系を使いたい方

Terminal
$ pyenv install anaconda3-4.0.0
$ pyenv global anaconda3-4.0.0

Python version 2系を使いたい方

Terminal
$ pyenv install anaconda-4.0.0
$ pyenv global anaconda-4.0.0

6.確認

Terminal
$ python --version

Python 3.5.1 :: Anaconda 4.0.0 (x86_64)
のように出れば導入成功です。(v.3系の場合)

7. Pythonバージョンの切り替えについて (pyenvの使い方)

Terminal
$ pyenv versions

でpyenvでインストールしたpythonのバージョンが確認できます。

Terminal
$ pyenv global anaconda3-4.0.0

のようにしてpython 3 (この場合はanaconda3-4.0.0)を使うように指定できます。
他のバージョンへの切り替えも同様に行えます。

また,新しいAnacondaやPythonバージョンのインストールは,

Terminal
$ pyenv install -l

でインストール可能なpythonバージョン一覧を表示し,

Terminal
$ pyenv install ふぇぇ

で指定したバージョンをインストールできます。

※本来ならばAnacondaはバージョン管理機能も持っているため,複数のAnacondaを入れる必要は必ずしもありません。私はpythonのバージョン管理はpyenvのみで行うようにしているため,複数のAnacondaを入れています。
また,Anacondaを直にインストールするとhomebrewと競合するため,pyenv経由で入れています。

何かご不明な点,誤り等ございましたらコメントお願いします。