Python の開発環境構築

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 までインストールできた。

Contents

comments powered by Disqus