やんごとなき事情によりxrea内でWEBサーバを移動しました。
というわけで、このブログ(web.pyによる自作ブログ)を移したわけですが、今までのようにバイナリ化して動かすにはサーバと似た環境が手元にないといけません。が、移動した先のサーバでは環境がだめ。
ということで、python2.5をxreaにインストールしました。virtual-pythonもいいんですが、xreaのサーバはpython2.4なので。ちょっと工夫すれば入るし、快適ですね。以下作業ログ。
Pythonをインストール
まずはPythonのソースをダウンロードしてコンパイル。 ~/root/usr/local
にいれます。
1mkdir -p ~/root/usr/local/src
2cd ~/root/usr/local/src
3wget http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz
4tar zxvf Python-2.5.4.tgz
5cd Python-2.5.4
6./configure --prefix=~/root/usr/local
7make
8make install
サクっと入ります。で、次にeasy_installを入れるわけですが、はいりません。OpenSSLとの絡みで hashlib.md5
が使えないから。 easy_install
を入れるときに md5
を検証するのに使ってるんですよね。
hashlibをインストール
なんで、自前でhashlibを単体でいれます。
1cd ~/root/usr/local/src
2wget http://code.krypto.org/python/hashlib/hashlib-20081119.tar.gz
3tar zxvf hashlib-20081119.tar.gz
4cd hashlib-20081119
5vi setup.py
はい、 setup.py
を編集しましょう。普通にbuildするとこれでも md5
が入りません。
1105 if (ssl_inc_dir and
2106 ssl_lib is not None and
3107 openssl_ver >= 0x00907000):
4108
5109 print 'Using OpenSSL version 0x%08x from' % openssl_ver
6110 print ' Headers:\t', ssl_inc_dir
7111 print ' Library:\t', ssl_lib
8112
9113 # The _hashlib module wraps optimized implementations
10114 # of hash functions from the OpenSSL library.
11115 exts.append( Extension('_hashlib', ['_hashopenssl.c'],
12116 include_dirs = [ ssl_inc_dir ],
13117 library_dirs = [ os.path.dirname(ssl_lib) ],
14118 libraries = osNameLibsMap[os.name]) )
15119 exts.append( Extension('_sha', ['shamodule.c']) )
16120 exts.append( Extension('_md5',
17121 sources = ['md5module.c', 'md5.c'],
18122 depends = ['md5.h']) )
119-120あたり、強制的に _md5
を入れるようにします。あとは
1~/root/usr/local/bin/python setup.py build
2~/root/usr/local/bin/python setup.py install
で hashlib
が入ります。
easy_installをインストール
これで md5
が使えるようになったので
1cd ~/root/usr/local/src
2wget http://peak.telecommunity.com/dist/ez_setup.py
3~/root/usr/local/bin/python ez_setup.py
これで無事 easy_install
が入ります。あとは
1~/root/usr/local/bin/easy_install -U -Z MySQL_Python
てな感じで必要なモジュールを入れていきましょう。
というわけで
わりと普通にxreaでPythonが使えています。