Python下的Mysql模块MySQLdb安装详解

在Python环境下,如果想操作MySQL数据库,难免会调用相应的包,比如常用的:MySQLdb通过导入:import MySQLdb 后,可直接调用里面的方法


默认情况下,MySQLdb包是没有安装的,不信? 看到类似下面的代码你就信了。

代码如下:
-bash-3.2# /usr/local/python2.7.3/bin/python get_cnblogs_news.py
Traceback (most recent call last):
  File "get_cnblogs_news.py", line 9, in <module>
    import MySQLdb
ImportError: No module named MySQLdb

这时我们就不得不安装MySQLdb包了。安装其实也挺简单,具体步骤如下:
 1、下载 MySQL for Python
地址:http://sourceforge.net/projects/mysql-python/files/mysql-python/
我这里安装的是1.2.3版本
代码如下:
wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz

2、解压
代码如下:
tar zxvf MySQL-python-1.2.3.tar.gz

3、安装
代码如下:
cd MySQL-python-1.2.3
python setup.py install
python setup.py build
假如执行python setup.py install的时候报错:
ImportError: No module named setuptools

注:
如果在执行:python setup.py build 遇到以下错误:
代码如下:
EnvironmentError: mysql_config not found

首先查找mysql_config的位置,使用
find / -name mysql_config ,比如我的在/usr/local/mysql/bin/mysql_config
修改setup_posix.py文件,在26行:
mysql_config.path = “mysql_config” 修改为:
代码如下:
mysql_config.path = “/usr/local/mysql/bin/mysql_config”

保存后,然后再次执行:
代码如下:
python setup.py build
python setup.py install

OK,到此大功告成。 


假如安装MySQLdb后,import MySQLdb出错如下:

代码如下:

[root@lizhong MySQL-python-1.2.3]# /usr/local/bin/python2.7
Python 2.7.6 (default, Apr 10 2014, 15:45:39)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg/_mysql.pyc, but /soft/MySQL-python-1.2.3 is being added to sys.path
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "MySQLdb/__init__.py", line 19, in <module>
    import _mysql
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in <module>
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

根据最后提示,应该是找不着一个交libmysqlclient.so.18的文件,于是到mysql安装目录里找到这个文件并且做一个软连接到/usr/lib
代码如下:

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

如果是64系统则:
代码如下:

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

再次import MySQLdb就正常了:
代码如下:

[root@lizhong MySQL-python-1.2.3]# /usr/local/bin/python2.7
Python 2.7.6 (default, Apr 10 2014, 15:45:39)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> 

--本篇文章转自:http://www.jb51.net/article/48827.htmhttp://www.jb51.net/article/54120.htm


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值