且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

python下的MySQLdb使用

更新时间:2022-09-22 14:27:41

今早,2驾直升机从中关村头上穿过!至今天半年又没有了。。。。。扯到这吧。

下载安装MySQLdb

<1>linux版本

   sudo apt-get install python-mysqldb

首先他需要setuptoos 工具的支持

1. wget -q http://peak.telecommunity.com/dist/ez_setup.py

2.python ez_setup.py ( 这一步必然失败,是为了第三步取得url准备的.)

运行这行的时候,linux会停留在Downling ~~~~~这类似的上面.

这是因为你的这个目录下中没有setuptools-0.6c11-py2.4.egg东西.

3. wget  http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg

注意:第三步的url是根据第二步得到的url.

这时候你再运行第二步.之后再运行安装你前面不能够安装的软件.应该就解决了setuptools方面的问题了.

关键东西:是要准备好2个东西:ez_setup.py和setuptools-0.6c8-py2.4.egg.

准备完成后开始

apt-get -y install python-dev

 wget http://cdnetworks-kr-1.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz

tar -zxvf MySQL-python-1.2.3.tar.gz

cd 进去修改 mysql路径

vim site.cfg

mysql_config = /usr/local/mysql/bin/mysql_config  #我myslq是源码包装的所以。

 python setup.py install  这样基本是没有问题的

 

然后导入模块试试  import MySQLdb

ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

可能出现这个错误 好不用怕 :

ln -s  /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib

一个链接解决。

在导入出现下面问题

######################

/usr/lib/python2.4/site-packages/MySQL_python-1.2.3-py2.4-linux-i686.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/lib/python2.4/site-packages/MySQL_python-1.2.3-py2.4-linux-i686.egg/_mysql.pyc, but /root/soft/MySQL-python-1.2.3 is being added to sys.path

原因是,install后MySQLdb模块已经被放到python的site-pachages目录中;但我在当前目录也存在相同的模块,所以可能会重复导入。只要切换到其他目录运行就可以了。

换个目录 成功了就。

<2>windows版本

网上搜索到一个http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe

安装后import MySQLdb会出现 DeprecationWarning: the sets module is deprecated 这样一个警告,google之

原因是2.6不知sets这个模块,不过已经添加了set内置函数。找到MySQLdb文件夹的中__init__.py,注释掉from sets import ImmutableSet class DBAPISet(ImmutableSet):添加class DBAPISet(frozenset):;找到converters.py注释掉from sets import BaseSet, Set。然后修改第45行和129行中的Set为set。

搞定。

 

 

 

本文转自 houzaicunsky 51CTO博客,原文链接:http://blog.51cto.com/hzcsky/891002