Mac OS X 10.8.5 でシステム側の python は使わずに pyenv を使って ansible を入れてみました。

2013-11 追記: 今は homebrew でインストールできるようになっていて brew install ansible だけでインストールできます。

参考サイト

必要なもの

  • homebrew

pyenv

参考サイトと同じように homebrew で pyenv をインストールします。

brew update
brew install pyenv

(旧) 猫好きモバイルアプリケーション開発者記録 rbenv init が重い問題に対する対処法 という話をみてから init の時には rehash しないようにしていたので、 --no-rehash というオプションを付けています。

50pyenv.sh:

if type pyenv >/dev/null 2>&1; then
    eval "$(pyenv init - --no-rehash)"
fi

exec zsh でシェルを再起動するなり、設定ファイルをドットコマンドや source コマンドで読み直すなり、 eval "$(pyenv init -)" を直接実行するなりして設定を反映させます。

pyenv でインストール

ansible pyenvを使った環境に依存しないインストール で 2.7.5 を入れていたので、 pyenv install [TAB] で補完候補をみて、 2.7 系の最新が 2.7.5 のままなのを確認してインストールしました。 この後で必要になる pippyenv が自動でインストールしてくれていました。

pyenv install 2.7.5
pyenv rehash
pyenv global 2.7.5

pip でライブラリをインストール (不要?)

必要なライブラリをインストールしましたが、 この手順は不要そうです。 PyYAML のインストールのところで libyaml が見つからないというエラーがでていましたが、 pip install 自体は成功していたので、問題はなかったようです。

pip install paramiko jinja2 PyYAML pycrypto markupsafe

git clone して試す

ライブラリをインストールしたので、 Running From Source の方法で試せましたが、 この方法で入れたものは後で消しました。

git clone git://github.com/ansible/ansible.git
cd ansible
source ./hacking/env-setup

pip で ansible をインストール

ansible の Latest Releases Via Pip で ansible 自体も pip でインストールできるとわかったので、 sudo なしの pip install ansible でインストールしました。 必要なライブラリは依存関係でここで一緒にインストールされるので、 先に個別にインストールする必要はなさそうでした。

そのままだと error: could not create '/usr/share/ansible': Permission denied で失敗したので、 homebrew で /usr/local が admin グループに書き込み可能に設定されるのを参考にして、 admin グループに書き込み可能で作成してからインストールすると大丈夫でした。

install コマンドでのディレクトリの作成やパーミッションの設定は、 何度実行しても同じ結果になるという点では mkdir -pchmodchown の組み合わせと同じですが、 1コマンドで済むのでオススメです。

sudo install -d -g admin -m 775 /usr/share/ansible
pip install ansible
Disqus Comments

Kazuhiro NISHIYAMA

Ruby のコミッターとかやってます。 フルスタックエンジニア(って何?)かもしれません。 About znzに主なアカウントをまとめました。

znz znz


Published