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

完~

相关文章

django框架之cookie/session的使用示例(小结)

一、http协议无状态问题 http协议没有提供多次请求之间的关联功能,协议的本意也并未考虑到多次请求之间的状态维持,每一次请求都被协议认为是一次性的。但在某些场景下,如一次登录多次访问...

详解Python中的元组与逻辑运算符

详解Python中的元组与逻辑运算符

Python元组 元组是另一个数据类型,类似于List(列表)。 元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。 #!/usr/bin/python...

浅谈Python脚本开头及导包注释自动添加方法

浅谈Python脚本开头及导包注释自动添加方法

1、开头:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定 #!/usr/bin/python 是用来说明脚本语言是python的 是要...

python中使用OpenCV进行人脸检测的例子

OpenCV的人脸检测功能在一般场合还是不错的。而ubuntu正好提供了python-opencv这个包,用它可以方便地实现人脸检测的代码。 写代码之前应该先安装python-openc...

解决python flask中config配置管理的问题

在项目中我们需要配置各种环境。如果我们的配置项很少的话,可以直接简单粗暴的来; 比如: app =Flask(__name__) app.config['DEBUG']=True...