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