Python的MySQLdb模块安装
2012-05-07 11:43 Rollen Holt 阅读(147156) 评论(2) 编辑 收藏 举报在配置Django时,选择的是mysql数据库,要安装MySQLdb模块,不过安装过程中,遇到了很多errors,记录一下。
系统:ubuntu 11.10
mysql:直接apt-get安装的,version:5.1.62
到官方下载MySQL for Python
然后解压,打开README:
里面有安装过程:
$ tar xfz MySQL-python-1.2.1.tar.gz
$ cd MySQL-python-1.2.1
$ # edit site.cfg if necessary
$ python setup.py build
$ sudo python setup.py install # or su first
不过在python setup.py build时报错:
ImportError: No module named setuptools
ubuntu下安装:
sudo apt-get install python-setuptools
python-setuptools : Python Distutils Enhancements (setuptools compatibility)
然后再次python setup.py build,又报错:
EnvironmentError: mysql_config not found
因为mysql_config是属于MySQL开发用的文件,而使用apt-get安装的MySQL是没有这个文件的,于是在包安装器里面寻找
sudo apt-get install libmysqld-dev
libmysqld-dev : MySQL embedded database development files
再次运行python setup.py build,报错:
building ‘_mysql’ extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,’final’,0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-i686-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
In file included from _mysql.c:29:0:
pymemcompat.h:10:20: fatal error: Python.h: No such file or directory
解决方案,
sudo apt-get install python-dev
python-dev : header files and a static library for Python (default)
然后就按照README里的:
$ python setup.py build
$ sudo python setup.py install
测试:
>>>import MySQLdb
没有报错即可。
参考:
http://blog.csdn.net/guzicheng/article/details/5884106
http://be-evil.org/post-185.html
http://hi.baidu.com/hevensun/blog/item/3b6e313fe8515df154e7238f.html
http://www.cnblogs.com/objdump/archive/2011/11/03/mysql_python_install_error.html
==============================================================================
本博客已经废弃,不在维护。新博客地址:http://wenchao.ren
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================