weblog of key_amb

主にIT関連の技術メモ

Mac に pyenv + pip で Ansible 用 python を作る

pyenv の install

ここでは virtualenv を使うために pyenv-virtualenv をインストールします。 pyenv も一緒にインストールされます。

brew update
brew install pyenv-virtualenv

以下で ~/.pyenv/shims に $PATH を通します。

$ eval "$(pyenv init -)"

上は ~/.bashrc にも書いておきました。

ansible 用 python の作成

Ansible は python 2.X でないといけないそうなので、2系の最新版である 2.7.7 をインストールし、virtualenv で ansible という名前の python 環境を作ります。

pyenv install 2.7.7
pyenv virtualenv --distribute 2.7.7 ansible

これで、以下のように 2.7.7 な ansible 用 pyenv 環境ができます。

$ pyenv versions
* system (set by /Users/key_amb/.pyenv/version)
  2.7.7
  ansible

作業ディレクトリでこの ansible python を使う設定をしましょう。

cd ~/ansible-playbooks
pyenv local ansible
pyenv version # 確認

pip でパッケージインストール

pyenv python には最初から pip が入っています。 requirements.txt に次のように書きましょう。

ansible
Jinja2
MarkupSafe
PyYAML
ecdsa
httplib2
paramiko
pycrypto

公式ドキュメント によると ansible だけ書いていればよさそうですが、前回 Vagrant 上で試したときにハマったので、ここでは要りそうなものを全部書いておきました。 (幸い、今回は全くハマりませんでした。)

下記コマンドで上の requirements.txt から pip でインストールします。

pip install -r requirements.txt

ansible コマンドを有効にするために、pyenv rehash を叩きましょう。

pyenv rehash

以上です。

参考記事