XREAで好きなバージョンのPythonを使う方法2

やんごとなき事情によりxrea内でWEBサーバを移動しました。

というわけで、このブログ(web.pyによる自作ブログ)を移したわけですが、今までのようにバイナリ化して動かすにはサーバと似た環境が手元にないといけません。が、移動した先のサーバでは環境がだめ。

ということで、python2.5をxreaにインストールしました。virtual-pythonもいいんですが、xreaのサーバはpython2.4なので。ちょっと工夫すれば入るし、快適ですね。以下作業ログ。

Pythonをインストール

まずはPythonのソースをダウンロードしてコンパイル。~/root/usr/localにいれます。

 code
  1. mkdir -p ~/root/usr/local/src
  2. cd ~/root/usr/local/src
  3. wget http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz
  4. tar zxvf Python-2.5.4.tgz
  5. cd Python-2.5.4
  6. ./configure --prefix=~/root/usr/local
  7. make
  8. make install
  9.  

サクっと入ります。で、次にeasy_installを入れるわけですが、はいりません。OpenSSLとの絡みでhashlib.md5が使えないから。easy_installを入れるときにmd5を検証するのに使ってるんですよね。

hashlibをインストール

なんで、自前でhashlibを単体でいれます。

 code
  1. cd ~/root/usr/local/src
  2. wget http://code.krypto.org/python/hashlib/hashlib-20081119.tar.gz
  3. tar zxvf hashlib-20081119.tar.gz
  4. cd hashlib-20081119
  5. vi setup.py
  6.  

はい、setup.pyを編集しましょう。普通にbuildするとこれでもmd5が入りません。

 code
  1. 105   if (ssl_inc_dir and
  2. 106     ssl_lib is not None and
  3. 107     openssl_ver >= 0x00907000):
  4. 108
  5. 109     print 'Using OpenSSL version 0x%08x from' % openssl_ver
  6. 110     print ' Headers:\t', ssl_inc_dir
  7. 111     print ' Library:\t', ssl_lib
  8. 112
  9. 113     # The _hashlib module wraps optimized implementations
  10. 114     # of hash functions from the OpenSSL library.
  11. 115     exts.append( Extension('_hashlib', ['_hashopenssl.c'],
  12. 116                include_dirs = [ ssl_inc_dir ],
  13. 117                library_dirs = [ os.path.dirname(ssl_lib) ],
  14. 118                libraries = osNameLibsMap[os.name]) )
  15. 119   exts.append( Extension('_sha', ['shamodule.c']) )         
  16. 120   exts.append( Extension('_md5',                  
  17. 121           sources = ['md5module.c', 'md5.c'],
  18. 122           depends = ['md5.h']) )
  19.  

119-120あたり、強制的に_md5を入れるようにします。あとは

 code
  1. ~/root/usr/local/bin/python setup.py build
  2. ~/root/usr/local/bin/python setup.py install
  3.  

hashlibが入ります。

easy_installをインストール

これでmd5が使えるようになったので

 code
  1. cd ~/root/usr/local/src
  2. wget http://peak.telecommunity.com/dist/ez_setup.py
  3. ~/root/usr/local/bin/python ez_setup.py
  4.  

これで無事easy_installが入ります。あとは

 code
  1. ~/root/usr/local/bin/easy_install -U -Z MySQL_Python
  2.  

てな感じで必要なモジュールを入れていきましょう。

というわけで

わりと普通にxreaでPythonが使えています。

Related posts:

01.06.10/12am

2 comments

trackback uri
  • ajax-loading
  • ajax-loading
  • ajax-loading
  1. まるみそ 09.03.09/12am
    初めまして。

    早速、xreaにpythonを入れてみたくて、手順通りにやってみたのですがエラーが出てしまいます。

    エラーの箇所は最初の「Pythonをインストール」の6行目を実行すると

    configure: error: expected an absolute directory name for --prefix: ~/root/usr/local/

    というエラーが出てしまいます。

    もし原因が分かりましたら教えていただけますか。
    他に必要な情報があれば、すぐに書き込みます!
  2. まるみそ 09.03.09/12am
    ああ、、すんません自己レスです。

    ./configure --prefix=$HOME/root/usr/local

    でいけました。

    気にしないで下さい・・・・。

Leave a Comment

You can use these tags: <code>, <i>, <em>, <strong>, <a>

About

Author:yuin(http://inforno.net/)

文学部文化学科卒という生粋の文系趣味プログラマ。

主にRuby、Javascript、PHP、JAVA,Python,C,Scala,Schemeなどを使っています。今はPythonな感じかもしれない。今後作曲活動なども復活するかもしれない。

Pages