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