Python MySQLdb Linux下安装笔记

yipeiwu_com5年前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中使用MySQL5.5的教程

Django中使用MySQL5.5的教程

“MySQL是一个功能齐全的关系数据库管理系统(RDBMS),可以与Oracle DB和Microsoft的SQL Server竞争。MySQL由瑞典公司MySQL AB赞助,该公司由O...

python 函数传参之传值还是传引用的分析

python 函数传参之传值还是传引用的分析

首先还是应该科普下函数参数传递机制,传值和传引用是什么意思?    函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有...

通过Python编写一个简单登录功能过程解析

需求: 写一个登录的程序, 1、最多登陆失败3次 2、登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3、要检验输入是否为空,账号和密码不能为空 4、账号不区分大小写...

django使用django-apscheduler 实现定时任务的例子

下载: pip install apscheduler pip install django-apscheduler 将 django-apscheduler 加到项目中settings...

Ruby元编程基础学习笔记整理

笔记一: 代码中包含变量,类和方法,统称为语言构建(language construct)。 # test.rb class Greeting def initialize(te...