これまで Mac の Python は Homebrew で入れていましたが、あるときから何かおかしくなってしまい、pip install が動かなくなってしまいました。Pyenv に乗り換えたので手順を残しておきます。Pyenv のインストール方法、Python のインストール方法、pip によるパッケージのインストール方法、更新方法を紹介します。
目次
- Homebrew で入れていた Python をアンインストールする
- Pyenv をインストール
- Python をインストール
- pip で Python パッケージをインストール
- pip でインストールしたツールの一覧を表示
- pip でインストールしたパッケージを更新
- pip でインストールしたパッケージを一括更新
Homebrew で入れていた Python をアンインストールする
Homebrew で入れていた Python をアンインストール。brew uninstall python
すると依存関係エラーでアンインストールできなかったので、依存関係エラーが出てきたツールを全部アンインストール。私の環境では以下ツールを順番に消していきました。
$ brew uninstall emacs
$ brew uninstall librsvg
$ brew uninstall gdk-pixbuf
$ brew uninstall pango
$ brew uninstall gobject-introspection
$ brew uninstall python
$ brew uninstall ansible
$ brew uninstall fabric
$ brew uninstall awscli
Pyenv をインストール
Homebrew で入れていた Python をアンインストールできたら GitHub - pyenv/pyenv を参考に Pyenv をインストール。
$ brew install pyenv
.bash_profile に環境変数や init コマンドを追加。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
ターミナルを再起動して動作確認。
$ pyenv --version
pyenv 1.0.10
Python をインストール
Python.org あたりで最新版の Python バージョンを調べて、以下コマンドでインストール。
$ pyenv install 2.7.13
インストールした Python をグローバルで使うように設定。
$ pyenv global 2.7.13
変更されたか確認。
$ pyenv versions
system
* 2.7.13 (set by /Users/karasawa/.pyenv/version)
バージョン確認。
$ python --version
Python 2.7.13
pip で Python パッケージをインストール
pip も使えるようになっているので、好きなパッケージをインストール。
$ pip install ansible fabric
pip でインストールしたツールの一覧を表示
$ pip list
ansible (2.3.0.0)
asn1crypto (0.22.0)
awscli (1.11.79)
boto (2.46.1)
boto3 (1.4.4)
botocore (1.5.42)
...
pip でインストールしたパッケージを更新
pip list
に o オプション(--outdated)をつけると更新があるパッケージを教えてくれる
$ pip list -o
awscli (1.11.79) - Latest: 1.11.82 [wheel]
botocore (1.5.42) - Latest: 1.5.45 [wheel]
colorama (0.3.7) - Latest: 0.3.9 [wheel]
setuptools (28.8.0) - Latest: 35.0.2 [wheel]
更新するには pip install
に U オプションをつける
$ pip install -U awscli
pip でインストールしたパッケージを一括更新
以下ワンライナーで更新
$ pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
更新後に依存関係をチェック
$ pip check
awscli 1.11.116 has requirement colorama<=0.3.7,>=0.2.5, but you have colorama 0.3.9.
依存関係が壊れている場合は上記のように通知されるので、指定されたバージョンをインストール
$ pip install colorama==0.3.7