Python MySQLdb Linux下安装笔记

yipeiwu_com6年前Python基础

在家里windows环境下搞了一次
见   python MySQLdb在windows环境下的快速安装、问题解决方式
/post/65746.htm

在公司开发需要,再搞一次,linux下的。
发现用编译的方式安装真的很蛋疼,不过也算见见世面,各种问题......奋斗

这里也有两种方式:

A.快速安装
B.自己编译

1.最快速最简单方法(赶时间的话)

复制代码 代码如下:

sudo yum install MySQL-python

可能遇到问题:
复制代码 代码如下:

>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "MySQLdb/__init__.py", line 22, in ?
    raise ImportError("this is MySQLdb version %s, but _mysql is version %r" %
ImportError: this is MySQLdb version (1, 2, 3, 'final', 0), but _mysql is version (1, 2, 1, 'final', 1)

原因:之前使用编译的方法进行安装,下的是1.2.3,但是用yum目前最高1.2.1,冲突
解决方法:删除已经编译的文件
复制代码 代码如下:

                  rm -rf MySQL-python-1.2.3/

再进行
复制代码 代码如下:

>>> import MySQLdb

无错误,则表示成功了


2.自己编译安装(有时间的话。。。囧)

需要:
A.gcc
B.setuptools  

复制代码 代码如下:

解压执行 sudo easy_install.py [或者 python setup.py build   && sudo python setup.py install]
C.python-dev   在   sudo apt-get install python-dev
   否则会报异常:fatal error: Python.h: 没有那个文件或目录

步骤:
A.下载:wget http://sourceforge.net/projects/mysql-python/files/latest/download
B.

复制代码 代码如下:

$ tar xfz MySQL-python-1.2.3.tar.gz
$ cd MySQL-python-1.2.3
$whereis  mysql_config
mysql_config: /usr/bin/mysql_config
$ vim site.cfg

修改mysql_config为mysql配置文件的路径 /usr/bin/mysql_config
还要修改
复制代码 代码如下:

 threadsafe = False
$ python setup.py build
$ sudo python setup.py install

完~

相关文章

python numpy 一维数组转变为多维数组的实例

python numpy 一维数组转变为多维数组的实例

如下所示: import numpy new_list = [i for i in range(9)] numpy.array(new_list).reshape(3,3) 借助n...

python3 对list中每个元素进行处理的方法

在写代码过程中我们常常可能会遇到这样一种情况,要对一个list中的每个元素做同样的操作时,两种方法 方法一:循环遍历每个元素 话不多说,上代码 a = [1,2,3] for i...

Python Web框架Tornado运行和部署

本文实例为大家分享了Python Web框架Tornado运行和部署的详细内容,供大家参考,具体内容如下 一、运行和部署 因为Tornado内置了自己的HTTPServer,运行和部署它...

Python实现的石头剪子布代码分享

我之前写过一篇基于JS的石头剪子布程序 《JavaScript实现的石头剪刀布游戏源码分享》,今天又基于Python写了一个实例,这里边的算法有点特殊但一时也想不到一个好的算法规律。 代...

Django组件之cookie与session的使用方法

Django组件之cookie与session的使用方法

一、引子 http协议是无状态的,就是它不会记录请求和响应的任何信息,比如你访问一个服务器的一个网页时,先要你登录一下,然后进入网页,但当你要进入这个服务器的另一个网页时,它照常不会知道...