Ansible徹底入門を写経していたところ、Dynamic Inventoryのvagrant.py実行で下記エラーが出てしまった。

ImportError: No module named paramiko

 

元入ってるpythonとこの本に従って入れたpythonがごっちゃになっているようだった。

vagrant.pyの実行だけなら “`python2 ./vagrant.py“` で動くが、ansible-playbookでインベントリにvagrant.pyを使うとなるとエラーとなる。

そこでvirtualenvを使って、ディレクトリ単位でpythonを管理する。

 

具体的には次のようにする。

sudo pip install virtualenv
virtualenv .
source bin/activate
pip install ansible

 

virtualenv環境を終了する場合は次のコマンドを実行する。

deactivate