最近机群的配置发生变化,需要重新安装Python的MySQL接口。试了两遍总不成功,发现是新环境中没有安装mysql_config,故需要修改配置文件“site.cfg”。主要是编译选项中的三行:
#mysql_root: /usr/local/mysql
#library_dirs: %(mysql_root)s/lib
#include_dirs: %(mysql_root)s/include
第一次因发现 /usr/local/lib 与 /usr/local/include 中均有 mysql,遂改为:
mysql_root: /usr/local
library_dirs: %(mysql_root)s/lib/mysql
include_dirs: %(mysql_root)s/include/mysql
编译仍通不过,又注意到 /usr/bin 中有 mysql 命令,且 /usr/include 中亦有 mysql,故改为
mysql_root: /usr
library_dirs: %(mysql_root)s/lib/mysql
include_dirs: %(mysql_root)s/include/mysql
终于成功编译安装。然而使用时还是出问题:
import MySQLdb
File "/home/xxia/usr/lib/python2.5/site-packages/MySQLdb/__init__.py", line 19, in
import _mysql
ImportError: /home/xxia/usr/lib/python2.5/site-packages/_mysql.so: undefined symbol: mysql_field_count
估计是该节点上所安装MySQL版本过老,就登录到另一较新的节点,上有 mysql_config,删除 MySQLdb 的工作目录,重新打开包,没作任何修改即成功编译并能在所有节点上使用。