我的环境是: ( uname -a )Linux netboy 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux
+ ( mysql -V ) mysql Ver 14.14 Distrib 5.5.22, for debian-linux-gnu (i686) using readline 6.2 + ( python -V ) Python 2.7.3
本文结合我安装时候的问题,总结而成。
用户目录如/home/netboy/ , 保证用户有root权限
1,看看有没有安装
进入python的命令行,输入 import MySQLdb 如果没有报错,证明此模块已经安装,可以跳过以下步骤。
2,切换到用户目录/home/netboy,去下载最新的MySQLdb安装包:我下载的是MySQL-python-1.2.3.tar.gz 。这一步所有命令集如下:
wget -O python-1.2.3.tar.gz http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar xzvf python-1.2.3.tar.gz
cd MySQL-python-1.2.3
python setup.py build
3,出现报错:ImportError: No module named setuptools
4,回到用户目录/home/netboy,安装setuptools,我安装的是setuptools-0.6c11 ,这一步的所有命令集如下:
wget -O setuptools-0.6c11.tar.gz http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar xzvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
sudo python setup.py install
5,回到用户MySQLdb源码目录,我的是:/usr/src/MySQL-python-1.2.3/
6,运行 python setup.py build
7,报错:mysql_config not found
8,上一步报错因为mysql_config命令没有找到,可以使用:whereis mysql_config 命令查找。
9,使用whereis mysql命令找到mysql安装目录,假设mysql安装在/usr/local/mysql
注意:使用命令apt-get安装的MySQL是没有mysql_config这个文件的,so我们需要安装一些东西,
终端执行:sudo apt-get install libmysqld-dev
再次执行:whereis mysql_config
安装成功的话终端会回显:mysql_config: /usr/bin/mysql_config
10, 回到MySQLdb源码目录.
11, 修改/usr/src/MySQL-python-1.2.3/目录下的site.cfg文件
去掉mysql_config=XXX这行的注释,并改成mysql_config=/usr/bin/mysql_config(以mysql_config文件所在的目录为准)
12, 进入MySQLdb源码目录.
13, 再次运行 python setup.py build
如果出现编译错误,提示找不到python.h头文件,原因有两种情况,一种是真的没有Python.h这个文件,一种是Python的版本不对,
可以进入/usr/include/文件夹下的Python2.x文件夹里查找是否有Python.h这个文件。如果是第一种情况,那么需要安装Python-dev这个包,(在终端使用:sudo apt-get install python-dev)
14,再次运行sudo python setup.py build
15,运行sudo python setup.py install
16,在终端中输入:python, 进入python环境,输入:import MySQLdb 不提示错误即成功
17,如果还有报错问题,建议求助google搜索引擎。