开始学习python数据库编程后,在了解了基本概念,打算上手试验一下时,卡在了MYSQLdb包的安装上,折腾了半天才解决。记录一下我在linux中安装此包遇到的问题。系统是ubuntn15.04。

1.下载

第一个问题是pycharm软件的模块安装功能Project Interpreter无法自动下载安装MYSQLdb包,显示

Error occurred when installling package

那没办法了,只好手动下载了。MYSQLdb包linux系统的下载的地址是

http://sourceforge.net/projects/mysql-python/file/mysql-python/

在页面内选择你想要安装的版本下载即可,我下载的版本是1.2.4b4

2.安装

一:下载之后,打开终端,切换到自己的下载文件目录,在我的电脑上是目录/home/hai/download,之后解压下载的文件,即在终端输入:

tar xfz MySQL-python-1.2.4b4.tar.gz

二:使用命令

cd MySQL-python-1.2.4b4

切换到解压后的目录。

三:编译MYSQLdb包

输入命令

python setup.py build

此时遇到问题,报错信息是

mysql_config not found

google之后发现要修改MYSQLdb解压之后目录中的setup_posix.py第26行,此行的内容是

mysql_config.path = "mysql_config"

mysql_config是mysql安装目录中的一个文件的名称,需要将26行变量的值改为此文件的绝对路径。

于是使用

whereis mysql

查看数据库安装目录,进入安装目录。但是发现安装目录中并没有mysql_config文件,啊,好气啊。

再继续google,发现是没有安装libmysqlclient-dev,那就安装!使用命令:

sudo apt-get install libmysqlclient-dev

安装这个东西,之后使用命令:

file -name mysql_config

查看这个文件的路径,ok,有了。

将setup_posix.py文件修改后,再使用python setup-python-1.2.4b4安装,又遇到问题了,错误信息:

error: command 'i686-linux-gnu-gcc' failed with exit status 1

啊啊啊。

继续google,原来是没有安装python-dev,好的,那就安装.使用命令:

sudo apt-get install python-dev

安装完成后,再使用输入了N次的命令python setup.py build,好,终于没有报错了,现在就差一步就安装成功了。

四:输入命令sudo python setup.py install

好,终于安装上了,在python中实验一下,导入一下MYSQLdb模块,import MYSQLdb,没有消息,恩,没有消息就是最好的消息,安装成功!

P.S.另外在google过程中,还看到了好几个错误报警,虽然我没有遇到,还是在这里提一下。
第一个是如果没有安装steuptools,在第三步编译时会报错ImportError: No module named setuptools,那就去安装setuptools,至于setuptools的安装,那就是另外的问题了,就不多说了。
第二个是关于python.h文件报错,这是python版本的问题,需要处理一下python版本,也不再多说。
第三个是/usr/bin/ld:cannot find -lmysqlclient_r报错,这是由于配置文件没有生效。找到mysql的配置文件,使用使用:ldconfig命令刷新使其生效即可。

python的MySQLdb模块在linux环境下的安装的更多相关文章

  1. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  2. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

  3. Linux 环境下 Lua 安装(转)

    系统环境:CentOS-6.2-x86_64. Lua 是嵌入式脚本语言,应用场景很广泛. 引自官网:Lua is used in many products and projects around ...

  4. 基础--Redis在Linux环境下的安装

    1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...

  5. Linux环境下Oracle安装参数设置

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...

  6. LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)

    安装采用YUM一键安装: 1.环境Centos 6.6 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve ...

  7. Linux环境下mysql安装并配置远程访问

    环境:centOS 1.下载mysql安装文件 [root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el ...

  8. linux环境下redis安装

    本篇文章主要说明的是Linux环境下redis数据库的安装: 首先进入目标目录: 下载安装包,执行命令: wget http://download.redis.io/releases/redis-4. ...

  9. Redis在linux环境下的安装

    下载Redis安装包 wget http://download.redis.io/releases/redis-3.2.9.tar.gz 解压Redis安装包 tar -zxvf redis-3.2. ...

随机推荐

  1. 【转】Netty系列之Netty并发编程分析

    http://www.infoq.com/cn/articles/netty-concurrent-programming-analysis

  2. Asp.net MVC4 ExtJS权限管理系统源码 C#开发框架源码

    开发环境:VS2010或以上 数据库:SQL Server 2008 r2 MVC版本:Asp.net mvc 4.0 ExtJs版本:ext-4.2   功能介绍 1.多标签,js动态加载模式,全a ...

  3. 通过HttpClient 调用ASP.NET Web API

    在前面两篇文章中我们介绍了ASP.NET Web API的基本知识和原理,并且通过简单的实例了解了它的基本(CRUD)操作.我们是通过JQuery和Ajax对Web API进行数据操作.这一篇我们来介 ...

  4. asp.net 将ppt,word转化为pdf实现在线浏览详解

    1.首先添加应用:COM里面的Micsosoft Office 12.0 Object Library(VS2013基本都有14.0或者15.0 有的话一样的添加,因为我的没有只有12.0) : 2. ...

  5. 开始了大概三四天的Rails学习之路

    最近因为一位极光推送朋友,我开始了大概三四天的Rails学习之路,最终达到的水平是可以比较轻松地做出大部分功能,然后自我感觉可以自如地按照Rails的设计思想去思考.由于编程的日益流行,我结识了越来越 ...

  6. jpush 延迟推送的栗子

    这个 推送是上个月做的, 上线之后没有问题,所以,我就把 这个整套代码 整理一哈,方便以后使用. 首先需求是这样的:  在比赛结束后的 10 钟 开始给 参加比赛的球员  发送消息,告诉他们比赛的信息 ...

  7. 好公司、行业、领导?应届生应根据什么选offer?

    两个年轻人大学毕业了,一个去了收入更高的大企业工作,一个去了收入较低的小作坊式工厂工作.你们说他们谁的青春时光最能升值呢?表面上看应该是大企业,可是大企业是做马车制造的,小作坊是做汽车的.现在人们都知 ...

  8. python服务器环境搭建(1)——本地服务器准备

    去年十月底到新公司上班,由于公司旧系统存在各种问题同时不便于扩展,而公司领导对17年寄予很大的期望,用户量.收入要上一个新台阶,我经过全面评估后,决定全部用python重构过,开发一个基于微服务架构的 ...

  9. HTTP 返回状态代码详解

    1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100(继续)请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分:101(切换协议)请求者已要求服 ...

  10. 2017年最新chrome必备插件推荐

    1. 上网必备 Speed dial plus新标签页, 直接替换掉chrome自带的毫无新意的新标签页,简洁优美快速,我本人非常喜欢. &amp;lt;img src="https ...