在配置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