Python開発環境

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 !

blogroll

social