ansible化のためのメモ
とりあえずdebianで試してますが、たいていのUNIX系OSでは同じでしょう。
Pythonインストール
MacやLinuxであれば、ほぼ間違いなくデフォルトでPythonはインストールされています。 が、システムでばりばり利用されている上にCentOSなど古いバージョンのままだったり、Macのように不可思議なパッチがあてられていたり、 古いsetuptoolsが添付されていたりと、問題の火種になる要素がてんこもりです。
公式サイト からダウンロードしてクリーンな環境を作成しましょう。
ダウンロード:
$ wget http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2
Note
2013/10/05時点では3.3.2が最新バージョンです。
インストールに必要なライブラリ
ビルドするためには、 build-essential が必要です。 そのままビルドまで進めると、以下のようにライブラリが足りないために作成されなかったモジュールが表示されるので、 必要なライブラリもインストールします。
_bz2 _curses _curses_panel _dbm _gdbm _lzma _sqlite3 _ssl _tkinter readline zlib
- libbz2-dev
- libncurses-dev
- libdb-dev
- libgdbm-dev
- liblzma-dev
- libsqlite-dev
- libssl-dev
- tk-dev
- libreadline-dev
- zlib1g-dev
Note
恐らく、サーバー環境では tkinter を使う必要はないでしょう。また、 cursers もWebアプリケーションには必要なさそうです。 実際のところ必要になるとすれば、 ssl, zlib, bzip2 あたりです。また、Webセッションの保存にdbmが必要になるかもしれません。
$ sudo aptitude install build-essential $ sudo aptitude install libbz2-dev libncurses-dev libdb-dev libgdbm-dev liblzma-dev libsqlite-dev libssl-dev tk-dev libreadline-dev zlib1g-dev
ビルド、インストール
インストール先ですが、 /opt/python-{version} に入れることにします。
$ tar xvf Python-3.3.5.tar.bz2 $ cd Python-3.3.5 $ ./configure --prefix=/opt/python-3.3.5 $ make $ sudo make install $ /opt/python-3.3.2/bin/python3 --version Python 3.3.2
プロジェクト用のPython仮想環境
まずは pyvenv で仮想環境を作ります。
$ /opt/python-3.3.2/bin/pyvenv env
続いて、 setuptools, pip とインストールします。
$ wget https://bitbucket.org/pypa/setuptools/downloads/ez_setup.py $ env/bin/python ez_setup.py $ wget https://raw.github.com/pypa/pip/develop/contrib/get-pip.py $ env/bin/python get-pip.py
まとめ
と、ここまでやって、 ansible 自体がpython2じゃないと動かないっぽいことに気づいた。
Comments !