2020/01/03

MacOSX の Python 環境構築

MacOSX の Python 環境を作ったので、メモ程度ですが記録しておきます。

とりあえずビール (Homebrew)

brew を使いますので、インストールしていない方は入れましょう。

pyenv の導入

pyenv を入れることで、複数の python バージョンを同時にインストールした状態で、切り替えて使うことができるようになります。

インストールと初期設定

brew install pyenv
~/.bashrc に以下のように追記しましょう。
eval "$(pyenv init -)"

python を pyenv の管理下にインストール

pyenv 管理下にインストールできるものは、
pyenv install --list
で確認できます。バージョンナンバーだけのものがプレーンな python です。2系と3系の最新を探すなら、
pyenv install --list |grep -v -- '-dev' |grep ' 2.' |tail -1
pyenv install --list |grep -v -- '-dev' |grep ' 3.' |tail -1
とすれば見付かると思います。インストールは
pyenv install 2.7.17
pyenv install 3.8.0
のように実行します。

使用する python バージョンを設定

pyenv global 3.8.0
とすれば、python コマンドは python-3.8.0 に紐付くようになります。

pipenv の導入

pipenv を入れると、python バージョンや pip モジュールの集まりを1つの環境として捉えて、それを切り替えて使うことができるようになります。

インストール

pip install --upgrade pip
pip install pipenv
ここまで手順通りに進めている方は pip が古い状態になっていることが多いと思いますので、先立って upgrade をしています。不要なこともあるかと思います。

ここまでで導入は完了です。

pipenv の使い方


pipenv 環境の作り方

環境用のディレクトリを1つ作り、そのディレクトリに対して pipenv コマンドで設定することで、環境が作れます。
mkdir ~/projects/hogeenv
cd ~/projects/hogeenv
pipenv --python 3.8.0

pipenv 環境の切り替え

cd ~/projects/hogeenv
pipenv shell
とすることで、当該環境を使う形でサブシェルが起動します (環境名がプロンプトで識別できます)。exit で離脱できます。

pipenv 環境への pip モジュールのインストール

pipenv shell 内で例えば
pipenv install mock
とすれば、mock モジュールが当該環境にインストールされます。
環境内と環境外で pip list を見てみると、隔離されていることが確認できます。