MySQL 是十分流行的開源資料庫系統,很多網站也是使用 MySQL 作為後台資料儲存,而 Python 要連接 MySQL 可以使用 MySQL 模組。MySQLdb 模組可以讓 Python 程式連線到 MySQL server, 執行 SQL 語句及擷取資料等。
開始前要確定系統內的 Python 有安裝 MySQLdb 模式,你可以 Python command line interpreter 檢查,在指令模式輸入 python,然後便可以開始檢查:
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named MySQLdb
>>> exit()
如果見以上面的 "ImportError: No module named MySQLdb" 一句,便表示系統沒有安裝,到MySQLdb 官方網站 下載 MySQLdb,並用以下方法安裝:
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install
安裝好 MySQLdb 後便可以編寫程式碼,以下是簡單的例子:
-
#!/usr/bin/python
-
-
# 引入 MySQL 模組
-
import MySQLdb
-
-
# 連接到 MySQL
-
db = MySQLdb. connect (host= "localhost", user= "db_user", passwd= "db_pass", db= "db_name" )
-
cursor = db. cursor ( )
-
-
# 執行 SQL 語句
-
cursor. execute ( "SELECT * FROM db_table" )
-
result = cursor. fetchall ( )
-
-
# 輸出結果
-
for record in result:
-
print record [ 0 ]
这句错误提示的表面意思是:没有setuptools的模块,说明python缺少这个模块,那我们只要安装这个模块即可解决此问题,下面我们来安装一下:
在命令行下:
下载setuptools包
解压setuptools包
编译setuptools
开始执行setuptools安装
安装完成
执行python setup.py install.这个时候可能会引发一系列的问题:
A)提示缺失setuptools,这是因为安装mysql-python时需要用到setuptools提供的组件,
下载与你系统上所装的python相对应的setuptools,
我这里下载的是 setuptools-0.6c11-py2.7.egg (md5),到下载目录下,执行sh setuptools-0.6c11-py2.7.egg,
这样就将其安装上了!
B)继续执行python setup.py install,可能出现以下错误:
======> pymemcompat.h:10:20: 致命错误:Python.h:没有那个文件或目录 编译中断。
出现这个问题的原因是,系统中的python是自带的,而没有安装python的开发包并没有安装,所以在shell下执行如下命令:
点击(此处)折叠或打开
yum install python-devel
C)和B)一样执行命令后,还可能出现这样的类似的错误:
=======>_mysql.c:36:23: 致命错误:my_config.h:没有那个文件或目录 编译中断。
显而易见,解决的方法和上面的也是一样的,这是因为mysql开发包未安装,同样执行以下命令就可以解决了!
点击(此处)折叠或打开
yum install mysql-devel
3)最后,问题就圆满解决了!(PS:前提是你已经安装好了mysql,如果没有也会触发相应错误,这时只要安装就行了)