MySQLdbの設定にはまる


実験データをMySQLdbに貯めるように設定を変更したので、CGIからPython DB-APIをつかって、MySQLにアクセスしたい。。

というわけで、例えば

#! /usr/bin/env python

print "Content-type: text/html"
print
import cgi
import cgitb; cgitb.enable()
import MySQLdb

db = MySQLdb.connection(host="127.0.0.1",
user="USR", passwd="passwd", db="DB")

........
........
........

などと書いたわけですが、

ImportError: libmysqlclient.so.15: cannot open shared object file: No such file or directory
args = ('libmysqlclient.so.15: cannot open shared object file: No such file or directory',)

とおこられる.


/etc/profileに

export LD_LIBRARY_PATH=/usr/local/lib/mysql

と記述はしていて、コマンドラインから普通にimportするとMySQLdbがimportできる。


import os
os.environ['LD_LIBRARY_PATH'] = '/usr/local/lib/mysql'

とか、

import sys
sys.path.insert(0, "/usr/local/lib/mysql")


とか追加しても、ラチがあかず。



/etc/ld.so.confに

/usr/local/lib/mysql

を追記、ldconfig を実行して再読み込みすると上手くできた。



学位とは関連のない(言い換えると、できなくても評価に関係のない、お遊び要素)問題に時間を消費すると焦りまする。が、このシステムがあるとデモをするときにウケがいいんです。某電話機からアクセスできると尚良。


MySQLインストールではまった点

ついでに、備忘録として. テーブルにデータを追加するために、元データをテキストファイルから読み込めるようにするには、インストール時、configureを実行するときに、オプションが必要だった。

./configure --enable-local-infile