下記のようにpipでansibleをインストールしましたが正常にインストールされませんでした。
$ sudo pip install ansible
バージョンチェックのコマンドを実行したところ次のようにエラーとなってしまいました。
$ ansible --version ERROR! Unexpected Exception: (setuptools 0.9.8 (/usr/lib/python2.7/site-packages), Requirement.parse('setuptools>=11.3')) the full traceback was: Traceback (most recent call last): File "/usr/bin/ansible", line 81, in <module> from ansible.cli.adhoc import AdHocCLI as mycli File "/usr/lib/python2.7/site-packages/ansible/cli/adhoc.py", line 28, in <module> from ansible.executor.task_queue_manager import TaskQueueManager File "/usr/lib/python2.7/site-packages/ansible/executor/task_queue_manager.py", line 28, in <module> from ansible.executor.play_iterator import PlayIterator File "/usr/lib/python2.7/site-packages/ansible/executor/play_iterator.py", line 29, in <module> from ansible.playbook.block import Block File "/usr/lib/python2.7/site-packages/ansible/playbook/__init__.py", line 25, in <module> from ansible.playbook.play import Play File "/usr/lib/python2.7/site-packages/ansible/playbook/play.py", line 27, in <module> from ansible.playbook.base import Base File "/usr/lib/python2.7/site-packages/ansible/playbook/base.py", line 35, in <module> from ansible.parsing.dataloader import DataLoader File "/usr/lib/python2.7/site-packages/ansible/parsing/dataloader.py", line 33, in <module> from ansible.parsing.vault import VaultLib File "/usr/lib/python2.7/site-packages/ansible/parsing/vault/__init__.py", line 67, in <module> from cryptography.hazmat.primitives.hashes import SHA256 as c_SHA256 File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/hashes.py", line 15, in <module> from cryptography.hazmat.backends.interfaces import HashBackend File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 7, in <module> import pkg_resources File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 3011, in <module> parse_requirements(__requires__), Environment() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve raise VersionConflict(dist,req) # XXX put more info here VersionConflict: (setuptools 0.9.8 (/usr/lib/python2.7/site-packages), Requirement.parse('setuptools>=11.3'))
エラーの内容を見る限りsetuptoolsのバージョンが問題なので確認します。
$ sudo easy_install --version setuptools 0.9.8
setuptoolsのバージョンは11.3以上の必要があるようなのでアップデートします。
その前にansibleを一旦アンインストールします。
$ sudo pip uninstall ansible
setuptoolsをアップデートします。
$ sudo easy_install -U setuptools
アップデートしたsetuptoolsのバージョンを確認します。
$ sudo easy_install --version setuptools 24.0.2 from /usr/lib/python2.7/site-packages/setuptools-24.0.2-py2.7.egg (Python 2.7)
バージョンが24.0.2と新しくなったことが確認できます。
再び、ansibleをインストールします。
$ sudo pip install ansible
ansibleのバージョン確認のコマンドを実行します。
$ ansible --version ansible 2.1.0.0 config file = configured module search path = Default w/o overrides
正常にインストールされたことが確認できました。
今回使用したOSはCentOS6だったのでソフトウェアのバージョンが古かったようです。