2010/04/27

CentOS5.3にwxPythonをインストール 

yumでインストールする。

CentOSではそのままではyumでwxPythonはインストールできない。
※Fedoraではできる。

なのでCentOSにyumのリポジトリを追加してインストールを試みた。


【CentOS yum dag リポジトリの追加方法】※参考サイト

Fedora などのOSを使用していた方がCentOS へ乗り換えた場合、
Fedoraではyum でインストールできたものが yum の list で発見できずつまずくことがあります。

# yum list

Fedora ではパッケージとして認めているものが CentOS (RedHat) だとまだ公認でなかったりするためです。

そこで、 dag リポジトリ を追加することで解決します。
設定は簡単です。

# vi /etc/yum.repos.d/dag.repo で下記の内容を書き込み保存するだけです。
[dag]
name=Dag
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag/
enabled=1
gpgcheck=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

あとは、通常どうり

# yum list


【wxPythonのインストール】
# yum install wxPython

これだけ。

あとは
find / | grep demo.py
とかでデモを探して
python demo.py
で実行。うまくいった。

ちなみに、上記方法でのwxPythonのインストールは
CentOS5.3に始めから入っているpython2.4で行った。
python2.6で上記方法でやっても
-----
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4,compatible with 2.6),
and wxPython used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6).
アボートしました
-----
って出る。

2010/04/14

CentOS5.3でPython2.6を使う。

CentOS5.3でPython2.6を使う。
CentOS5.3にインストールされているPythonは2.4で、
yum(パッケージ管理システム)などPythonで書かれたシステムで使われているらしい。
上書きするのは危険っぽい。

そこで元々入っているPythonとは別にインストールする。
また、そのときにこちらのサイト(といってもほぼ丸写しかも)を参考にしました。
CentOS5.3にPython2.6でDjango1.1の開発環境を作成する - やさしいデスマーチ
CentOS5にpython2.6+Django+mod_python+色々の環境を整える - とはえ領域
というかこのページ自体、下記ページのほぼ丸写し。
CentOS5.3にPython2.6をインストールする - aoshiman.org

下準備

zlib-develはsetuptoolsで、sqlite-develはsqlite3を使うのに必要なのであらかじめyumでインストール。
$ yum install zlib zlib-devel sqlite-devel


Python2.6のセットアップ

こちらのサイトからソースコードをダウンロードして、ビルドインストールします。
$ wget http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tgz
$ tar zxvf Python-2.6.2.tgz
$ cd Python-2.6.2
$ ./configure --prefix=/usr/local --enable-shared
もしかしたら--prefix=/usr/localは必要ないのかも。

configure後にSetupに記述されている箇所を下記のように修正。zlibをインクルードしたい為。
$ vi Modules/Setup
#コメントをはずす
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

make make installします。
$ make
$ make install

libpython2.6.soとlibpython2.6.so.1.0をコピーします。
$ cp /root/Python-2.6.2/libpython2.6.so /usr/lib/
$ cp /root/Python-2.6.2/libpython2.6.so.1.0 /usr/lib/

バージョン確認。
$python -V
Python 2.6.2


libpython2.6.so.1.0とか見つからないぞと怒られる場合は
.bashrcでlibpython2.6.so.1.0のある場所(/usr/local/lib)の
パスを設定したらうまくいった。

以下.bashrcの例。
-------------------------------
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions


export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/lib:$LD_LIBRARY_PATH
-------------------------------