Ansible を触る機会があり、Python の環境構築をしたので、メモ。
(今までは、docker や anaconda を使用していたが、Ansible はこれら以外を使用した方がいいような気がしたので。)
環境構築をしようとして、ネットを色々見ていると、pyenv + virtualenv の組み合わせが
多いような気がしたので、その組み合わせで環境構築しようとした。
しかし、pyenv を使ったインストールは色々と批判されている記事を見かけたので、
とりあえず、ミニマムスタートで行こうと思い、pyenv はインストールせず、 virtualenv のみを使用して環境構築することにした。
(複数バージョンインストールしないといけない時が来たら、その時考える。)
Python のバージョン
まず、 Python のバージョンだが、これは OS(macOS High Sierra)にインストールされている Python を使用することにした。
$ python --version
Python 2.7.10
pip のインストール
Ansible を使用する際、システムワイドにインストールされるのを避けるため、 virtualenv を使用する。
そこでまず、virtualenv をインストールするため、pip をインストールする。
pip はホームディレクトリ以下にインストールしたかったので、 sudo なしで実行したのだが、
エラーになってしまった。
そこで、sudo なしでインストールするため、色々探したのだが、あまり情報がなかったので、とりあえず、以下のように sudo をつけて実行。
$ sudo easy_install pip
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 9.0.1
...
Installed /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
インストール成功したっぽい。 ひとまず、インストールした PATH を確認。
$ which pip
/usr/local/bin/pip
virtualenv のインストール
これも、sudo をつけないといけないようなので、 sudo をつけて実行。
$ sudo pip install virtualenv
...
Installing collected packages: virtualenv
Successfully installed virtualenv-15.1.0
とりあえず、インストールできた。
次に、Ansible を実行するため、適当なディレクトリ(sample)を作成し、virtualenv を使用して
実行環境を作る。 ここでは、venv
という環境を作成した。
$ mkdir sample
$ cd sample
$ virtualenv venv
New python executable in /Users/mzumi/Codes/ansible/sample/venv/bin/python
Installing setuptools, pip, wheel...done.
Ansible のインストール
ようやく Ansible をインストールする環境が整ったので、 以下のコマンドを実行し、Ansible をインストール。
$ source venv/bin/activate
venv $ pip install ansible
...
Successfully installed MarkupSafe-1.0 PyYAML-3.12 ansible-2.4.2.0 asn1crypto-0.23.0 bcrypt-3.1.4 cffi-1.11.2 cryptography-2.1.4 enum34-1.1.6 idna-2.6 ipaddress-1.0.18 jinja2-2.10 paramiko-2.4.0 pyasn1-0.4.2 pycparser-2.18 pynacl-1.2.1 six-1.11.0
とりあえず、Ansible までインストールできた。