virtual-pythonとsetuptools

id:cubicdaiyaに「日記をいつ書くんだ」と言われ,
毎回「来月になったら本気出す!」と言っているid:aircastleことワサビこと木浦でございます.*1
突然ですが,大学でvirtual-pythonを入れて作業をしなければならないことになりました.
virtual-pythonだけではなくて,setuptoolsも入れることになったので,インストールの覚え書きです.
なお,ここでは手元のMacBookでテストを行ったことについて書きます.

virtual-python

virtual-pythonとは

virtual-pythonはサーバなどにインストールされたpython環境を
ホームディレクトリ内などに構築するためのものです.
「どういう場合に必要なんだ!」という人のために説明を書くと,
例えばレンタルサーバなどがあります.
レンタルサーバでsetuptoolsを使おうとすると,
権限の関係でpackageをインストールできなかったりします.
こういう場合には,自分のホームディレクトリ内などに,
python環境を作り,ホームディレクトリ内のpython環境を用いてsetuptoolを実行すれば,
ホームディレクトリ内の特定フォルダにpython packageをインストールすることが可能です.
なので,ここに書くことはさくらインターネットなどにも,まま応用可能です.

インストール方法

先にコマンドを書いてしまうと下記の通りです.

%pwd
/Users/wasabi/
%wget http://peak.telecommunity.com/dist/virtual-python.py
%mkdir python
%python2.5 virtual-python.py --prefix=/Users/wasabi/python

複数バージョンのpythonをインストールしていてなおかつ,
特定のバージョンに対してvirtual-pythonをインストールしたい場合は,
virtual-python.pyを実行するpythonコマンドを明確に指定しましょう.
ここでは,上記の通り,python2.5コマンドを用いて実行します.

デフォルトエンコーディングの設定

これでインストールができたので,デフォルトエンコーディングの設定を行っておきます.
ホームディレクトリ以下のpython環境のsite-packagesの中にsitecustomize.pyというファイルを作ります.

%pwd
/Users/wasabi
%cd python/lib/python2.5/site-packages
%touch sitecustomize.py
%emacs sitecustomize.py

sitecustomize.pyには以下のように書きます.

import sys
sys.setdefaultencoding('utf-8')

日本語を用いた処理などを行わないのであれば,この設定は必要有りません.

作った環境についての詳しいこと
%ls -R ~/python

などとすると,ディレクトリ構造がわかります.
binフォルダには,各種コマンドがインストールされ,
libフォルダには各種ライブラリがインストールされていることがわかります.

setuptools

setuptoolsとは

setuptoolsはpythonでのパッケージ管理システムです.
setuptoolsをインストールすれば,easy_installというコマンドができ,
pythonで作られた便利なパッケージをpythonから利用することが可能です.

インストールの前に!

setuptoolsのインストールをする前に,以下の2つを設定する必要があります.

  • setuptoolsを用いてパッケージをインストールする場所
  • setuptoolsを用いてインストールしたコマンドを入れる場所

これらを.pydistutils.cfgとして設定します.*2

%pwd
/Users/wasabi/
%touch .pydistutils.cfg
%emacs .pydistutils.cfg

このファイル内に設定を行います.
virtual-pythonを用いて設定したのはホームディレクトリのpythonフォルダでしたね.
このフォルダの下のほうには先に示したようにsite-packagesフォルダがあります.
また,binフォルダの中にコマンドが入っているので,
ここにsetuptoolsでインストールしたコマンドを入れるのがよいでしょう.
というわけで,.pydistutils.cfgには以下のように設定してみました.

[install]
install_lib = ~/python/lib/python2.5/site-packages
install_scripts = ~/python/bin
インストール

やっとこれでsetuptoolsのインストールができます.

%pwd
/Users/wasabi
%wget http://peak.telecommunity.com/dist/ez_setup.py
%~/python/bin/python ez_setup.py

これで,setuptoolsのインストールができました.
~/python/bin以下にeasy_installがあればインストールは成功です.

%~/python/bin/easy_install simplejson

などとして,simplejsonがインストールできるかどうか確認しましょう.

%~/python/bin/python

として,インタラクティブシェルからimport simplejsonができることも確認しておきましょう.
最後にPATHの設定をして,終了です.

*1:あ,ちなみにはてなアルバイターになりました.

*2:設定をしなくてもインストールは可能かもしれません.Macの場合にはこの設定をしたほうがよいでしょう.詳しくはhttp://peak.telecommunity.com/DevCenter/EasyInstall