MySQLdb と PIL のインストール
MySQLdb インストール
いつも忘れる。centos用ね。Macも似た感じでいけるけど、dmg からインスコした MySQL の場合「Library not loaded: libmysqlclient.18.dylib のときに」が必須かも。
PythonでMySQL-pythonを使おうとしたら、"import MySQLdb"している箇所で"ImportError: dlopen(/path/to/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib"というエラーが発生した。ちなみに環境はMacOSXのLionである。
locateしてみたところ、libmysqlclient.18.dylib自体は存在しているらしい。
$ locate libmysqlclient.18.dylib /usr/local/mysql-5.5.16-osx10.6-x86_64/lib/libmysqlclient.18.dylib
なので、次のようにしてこのファイルを/usr/libにシンボリックリンクした。
$ cd /usr/lib $ sudo ln -fs /usr/local/mysql-5.5.16-osx10.6-x86_64/lib/libmysqlclient.18.dylib libmysqlclient.18.dylib
これでエラーは解消した。
とあるけど、つぎでもいいかも。
~/.bash_profile
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
手順
- sudo yum -y install python-devel
- sudo yum -y install mysql-devel
- このへんから MySQL for Python のソースをDL
- tar zxvf Mysql-python-1.2.3.tar.gz
- cd Mysql-python-1.2.3
- workon XXXX
- python setup.py build
- python setup.py install
impot MySQLdb できたらおk。
テストコード的に。
mysql でデータベースとテーブルつくっとく。
create database tech default character set utf8;
use tech;
create table test_table (id int, name varchar(100));
testdb.py
# -*- coding: utf-8 -*-
import MySQLdb
if __name__ == "__main__":
connector = MySQLdb.connect(host="localhost", db="tech", user="root", passwd="", charset="utf8")
cursor = connector.cursor()
sql = u"insert into test_table values('1','python')"
cursor.execute(sql)
sql = u"insert into test_table values('2','パイソン')"
cursor.execute(sql)
sql = u"insert into test_table values('3','ぱいそん')"
cursor.execute(sql)
connector.commit()
cursor.close()
connector.close()
PIL インストール
いつも忘れる。centos 用ね。Mac もこんな感じでいけた気がする。
手順
- sudo yum install libjpeg-devel
- wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
- tar -zxvf Imaging-1.1.7.tar.gz
- cd Imaging-1.1.7
- workon XXX
- python setup.py build
- python setup.py install
impot PIL できたらおk。