Posted at

Mac(Homebrew)でPython(pyenv/virtualenv)開発環境を作る

More than 1 year has passed since last update.


はじめに

Pythonの開発環境を作る上で、macにすでにインストールされているPythonを汚したくない人のために、この記事では以下の目的を達成する方法を記載しています。


  • ディレクトリ毎にPythonのversionと環境(インストールされているpip module)を切り替える

  • pip moduleをコード管理する


注意


  • この記事ではなるべく簡単にするために、一番最初のインストールにHomebrewを利用しています。Homebrewを予めインストールしておいてください。

  • たぶんもっとイカした方法があると思います。

  • 確認方法は書くのがめんどくさいので各自調べてください。


Homebrewでpyenv pyenv-virtualenv をインストール

brew install pyenv pyenv-virtualenv

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


pyenv でPythonをインストール

pyenv install 3.5.0


virtualenv でインストールしたPythonの仮想環境を作る

pyenv virtualenv 3.5.0 hoge_env


開発用のホームディレクトリを作って、そのディレクトリと仮想環境を紐付ける

mkdir dev_home

cd dev_home
pyenv local hoge_env


pip moduleを管理するため、 pip-tools をインストール

pip install pip-tools


インストールしたいpipモジュールを記載する

mkdir requirements

vim requirements/bash.in


requirements/bash.in

mysqlclient

simple-db-migrate

requirements/*.in の書き方は http://qiita.com/ryu22e/items/ad3f8f3df30886d23661 参照


requirements/*.in で記載したmoduleをインストール

pip-compile requirements/base.in

pip-sync requirements/*.txt

pip-compile はワイルドカードが使えません。