MacにPythonの開発環境を構築してみる

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

はじめに

macにpythonを導入してみましょう。
実はMacには最初からpythonが入っています。ターミナルから確認できます。

python --version
=>
Python 2.7.10

ですので、2.7.10(私の環境の場合)で使用していく場合は特にインストールは不要です。

ただ、Pythonではバージョン2.x系と3.x系があり、互換性がないのでPythonのバージョンを2.x系と3.x系で切り替えたり、さらに詳細なバージョンを指定したいという場合があると思います。

そこで、今回は、Pythonバージョン管理ツールである「pyenv」を利用してMacにPython環境を構築していきたいと思います。

「pyenv」を利用すると、簡単にPythonのバージョンを切り替えることができます。

構築手順

まず「pyenv」についてですが、ざっくりと説明するならrbenvのPython版のようなものです。ですので構築手順はほとんど同じです。

※rbenvについては私の記事で恐縮ですが、下記をご覧ください。

rbenvについて

では、さっそく構築してみましょう。

1.pyenvをインストール

Homebrewを使ってインストールするのが便利です。
もしHomebrewをインストールしていないのであれば、下記の記事を参考にしてください。

Homebrew — OS X 用パッケージマネージャー

下記のコマンドでHomebrewをインストールすることができます。

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

Homebrewがインストールされたら次はpyenvをインストールします。

brew install pyenv

2.pyenvにパスを通す

インストールが完了したら、pyenvにパスを通します。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

3.pyenvでPythonをインストール

pyenvが正常にインストールされているか確認するために、pyenvのバージョンを確認してみましょう

pyenv -v
=>
pyenv 20150310

バージョン値として20150310と表示されました。バージョンアップは正常に完了しているようです。

次にpyenvからインストール可能なPythonのバージョンを確認します。

pyenv install -list
=>
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2
  2.4.3
  2.4.4
  ・・・(以下略)

試しにバージョン「2.7.11」をインストールしてみます。

pyenv install 2.7.11
pyenv rehash

次にバージョン「3.5.1」をインストールしてみます。

pyenv install 3.5.1
pyenv rehash

pyenvでインストールされているバージョンを確認します

pyenv versions
=>
* system (set by /Users/Me/.pyenv/version)
  2.7.11
  3.5.1

それでは、実際に使用するバージョンを指定してみましょう。
(デフォルトで使用したいバージョンを指定する場合はglobal、特定のディレクトリのみで使用するバージョンを指定する場合はlocalを使用します。)

バージョン「3.5.1」をデフォルトで使用するバージョンとして指定してみます。

pyenv global 3.5.1
python --version
=>
Python 3.5.1

これでバージョン「3.5.1」がデフォルトのバージョンになりました。

※最近は数値計算やデータ分析などでよく利用されるパッケージもまとめてセットアップできる「Anaconda」を導入するのが人気のようですので、別記事でAnacondaについても書きました。よろしければそちらもご覧ください。

MacにAnacondaでPythonの開発環境を構築してみる

(2016-07-18 追記)

4. ついでにpyenv-virtualenvをインストール

Pythonの環境構築では、pyenvの導入だけでも十分なのですが、pyenvだけではできないことがあります。

pyenvはバージョン毎にPython環境を分けることはできますが、同一バージョンの場合は環境を分けることができません。

たとえば、バージョン「3.5.1」を利用したプロジェクトが2つあり、それぞれ、異なるパッケージを利用したい場合であっても、pyenvだけでは、「3.5.1」に対しては一つのPython環境しか持つことができないため、同一のPython環境を使うしかありません。

そこで、同じバージョン「3.5.1」を利用したプロジェクト毎に、Python環境を構築することができるようにするために、pyenvのプラグインである「pyenv-virtualenv」を利用します。

なお、pyenv-vitualenvに関しては下記のサイトの説明が非常にわかりやすかったです。
引用させていただきます。

pyenv-virtualenvはpyenvのPython環境の名前空間が従来はバージョン番号のみだったのに対し任意の文字列を利用することが可能になるpyenvプラグイン。
引用:Pyenvとvirtualenv pluginによるPython環境を構築する

では、さっそく、「pyenv-virtualenv」を導入しましょう。
git cloneでインストールします。

#githubからインストール pyenvのプラグインディレクトリに配置
git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

#設定をbash_profileに記載
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

インストールが完了したら、使用するPython環境を作成します。

virtualenvコマンドを実行し、Python環境を構築してみましょう。

今回はバージョン「3.5.1」の別環境として、「test_3.5.1」という名前のPython環境を構築しています。

コマンドは下記のようになります。

#pyenv virtualenv (バージョン) (環境名)
pyenv virtualenv 3.5.1 test_3.5.1

なお、現在、作成されているvirtualenvの環境を確認するには以下のコマンドを使用します。
test_3.5.1が作成されているはずです。

pyenv virtualenvs
=>
test_3.5.1 (created from /Users/Me/.pyenv/versions/3.5.1)

では、「pyenv-virtualenv」で構築したPythonの環境(test_3.5.1)を利用してみましょう。
たとえば、「python_project1」というプロジェクトに対して、上記のPython環境を適用させるには、
「python_project1」というディレクトリを作成し、作成したプロジェクトディレクトリ内に移動し、下記のコマンドを入力します。

mkdir python_project1 && cd $_
pyenv local test_3.5.1

適用されているか確認してみましょう。

pyenv versions
=>
  system
  2.7.11
  3.5.1
  *test_3.5.1

「test_3.5.1」の前に「*」が表示されてますので、正常に適用されていることが確認できます。

上記の状態でパッケージをインストールしても、他の環境には影響しません。
なお、パッケージをインストールするにはpipを使用します。

pip install (パッケージ名)

インストール済みのPythonパッケージを確認してみます。

pip freeze

最後に適用したPython環境から抜ける場合は、下記のコマンドを入力します。

pyenv local --unset

さらに環境を削除するには、下記のコマンドを入力します。

pyenv uninstall <バージョンまたは環境名>

今回は以上です。

MacによるPython3入門という記事を書きましたので、よろしければこちらもご覧ください。

MacによるPython3入門 その1

参考

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。