近来突然想鼓捣下linux下的python,看下Python数据库方面的东西,想着在centos下测试下。然而安装的过程有很多坑。下面对整个流程进行下记录

1、python基本库的安装

在安装python的过程中,发现其中很多的依赖库是没有包含在内的。根据我的需要,我安装了sqlite和zlib这两个依赖库。具体过程说明如下:

(1)sqlite

1>下载文件sqlite-autoconf-3160100.tar.gz:

http://pan.baidu.com/s/1slOw8BN

2>解压

3>配置、编译、安装

./configure
make
make install

需要注意的是,configure这里一定要用默认路径。否则后面很多地方会需要额外配置(而且我不知道怎么配置...)。

(2)zlib

1>下载文件zlib-1.2.7.tar.gz:

http://pan.baidu.com/s/1o77r12M

2>解压

3>配置、编译、安装

./configure
make
make install

2、python安装

到这里开始进入正题了。

其实centos6.3中是有python的,但版本是2.6.6的。虽然并没有什么用,我还是想升级一下...

(1)下载python的源文件Python-2.7.13.tgz:

http://pan.baidu.com/s/1c1YGnhI

(2)解压

(3)配置

./configure --prefix=/usr/local --with-libs='/usr/local/include/zconf.h'

为了保险,我加了个zlib的路径

(4)更改源文件文件夹中的setup文件

Python-2.7.13->Modules->Setup,找到

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz,去掉前面的注释#

(5)配置、编译、安装(为了保险,再配置一次)

./configure --prefix=/usr/local --with-libs='/usr/local/include/zconf.h'
make
make install

(6)设定软链接

在这一步,将python命令由原来系统默认的python2.6.6改置我们新安装的python2.7.13,将python2.6.6的软连接重命名为python2.6

mv /usr/bin/python /usr/bin/python2.
ln -s /usr/local/bin/python2. /usr/bin/python

(7)将yum的执行重定向置python2.6.6

需要注意的是,yum命令是不兼容python2.7的,所以需要重新指定yum的python版本至python2.7。

#vim /usr/bin/yum

将文件头部的

#!/usr/bin/python

改成

#!/usr/bin/python2.6

3、安装setuptools

(1)下载setuptools-0.6c11-py2.7.egg:

http://pan.baidu.com/s/1c116neS

(2)安装

sh setuptools-0.6c11-py2.7.egg

4、安装mysql_config

在后面安装mysql-python的操作中会发现报错EnvironmentError:mysql_config not found,解决方案如下:

sudo yum install libmysqlclient-dev
sudo yum install python-devel

这样,文件mysql_config就已经被安装好了。下面找一下它的路径

find / -name mysql_config

shell将返回mysql_config的地址

/usr/lib/mysql/mysql_config
/usr/bin/mysql_config

我们认为有效地址是/usr/bin/mysql_config(我也不知道为啥...)

5、安装MySQL-python

(1)下载文件MySQL-python-1.2.3.tar.gz:

http://pan.baidu.com/s/1i471Ltz

(2)解压&进行一些必要更改

下面更改MySQL-python-1.2.3目录下面的site.cfg文件:

去掉mysql_config=XXX这行的注释,并改成:

mysql_config=/usr/bin/mysql_config

(3)编译&安装

cd MySQL-python-1.2.3
python setup.py build
python setup.py install

至此搞定!

参考来源:

[1]对于python编译过程中依赖库报错的说明:http://www.tuicool.com/articles/FjmA3u

[2]centos编译安装zlib:http://lbs1991.blog.51cto.com/9134853/1566891

[3]centos编译安装zlib:http://blog.csdn.net/zhouzhiwengang/article/details/51675002

[4]对linux软链接、硬链接的讲解:http://www.cnblogs.com/wancy86/p/linux_inode.html

[5]对python升级的比较好的讲解:http://www.91pen.net/centos6-5-upgrade-python-2-6-to-2-7.html

[6]报错EnvironmentError:mysql_config not found的解决方案:http://codingnow.cn/language/159.html

[6]报错EnvironmentError:mysql_config not found的解决方案:http://www.cnblogs.com/xiazh/archive/2012/12/12/2814289.html

centos6.3环境下升级python及MySQLdb的安装的更多相关文章

  1. CentOS6 系统下升级python后yum命令使用时报错

    CentOS6 系统下升级python后yum命令使用时报错,如下: [root@xxxxxxx]#yumFile"/usr/bin/yum",line30exceptKeyboa ...

  2. Centos7.4环境下搭建Python开发环境(虚拟机安装+python安装+pycharm安装)

    目录 一.安装 Centos7.4虚拟机 二.安装 python3.6.7 三.安装 pycharm 一般情况下,大家都是在 Windows平台下进行 Python开发,软件安装和环境搭建都非常&qu ...

  3. 【Linux】CentOS下升级Python和Pip版本全自动化py脚本

    [Linux]CentOS下升级Python和Pip版本全自动化py脚本 CentOS7.6自带py2.7和py3.6 想要安装其它版本的话就要自己重新下载和编译py其它版本并且配置环境,主要是软链接 ...

  4. Sublime Text3配置在可交互环境下运行python快捷键

    安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...

  5. 4.1. 如何在Windows环境下开发Python

    4.1. 如何在Windows环境下开发Python 4.1. 如何在Windows环境下开发Python 4.1.1. Python的最原始的开发方式是什么样的 4.1.1.1. 找个文本编辑器,新 ...

  6. 手把手教你在Windows环境下升级R

    在Windows环境下,我们可以使用installr包自动将R升级到最新版本.并且可以安装软件.下面主要演示如何在Windows环境下升级R,并将旧版本安装的R包复制到更新版本的R. 1.加载inst ...

  7. centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解

    centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...

  8. Linux系统下升级Python版本步骤(suse系统)

    Linux系统下升级Python版本步骤(suse系统) http://blog.csdn.net/lifengling1234/article/details/53536493

  9. CentOS6.8环境下搭建yum网络仓库

    CentOS6.8环境下搭建yum网络仓库 本文利用ftp服务,在CentOS6.8系统下搭建一个yum仓库,然后用另一台虚拟机访问该仓库.并安装程序包 安装ftp服务 查询ftp服务是否安装 [ro ...

随机推荐

  1. windows10(x64)+Qt+opencv配置及测试

    本电脑系统:Windows10 64位 要下载的文件: 1.Qt 5.6.0 for Windows 32-bit,下载地址:(可以复制链接地址,用迅雷下载,速度快) http://download. ...

  2. 总结-css编码规范

    一.注释 统一采用 :/* 注释内容 */ 二.命名 1.常用命名(多查单词) 参考命名规范.doc 2.选择器 1> [建议] 选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确 ...

  3. 使用checkbox做出radiobutton的效果

    首先分别使用不同name的checkbox放在同一个tr的两个td内.并为他们设置onclick事件来改变点击后状态. php: str[info]="<table align='ce ...

  4. 动态生成tr,并将其下控件的值拼接后传到后台并保存

    有两个表(主表和子表),现在需要根据主表某一个字段动态的生成记录(一条记录就一个tr),然后再讲tr下控件的各个值取出来,传到后台,并保存到子表. html代码: <!--#for(Record ...

  5. java集合类的学习(一)

    为何要用集合类:可以储存不同类型的数据,可以进行动态的删除和修改,不用考虑数组越界的问题. 软件开发常用的集合类:Vector,ArrayList,Stack,HashMap,Hashtable. 3 ...

  6. Linux装无线驱动

  7. iOS内置音频

    Predefined soundsThere are some predefined system sounds, for the system sound ID in the range 1000 ...

  8. C#的IPAddress IPEndPoint

    以前觉得什么都能记住 翻一遍书就能去考试了,现在回过头来想一些东西,突然有种模糊的陌生感,应了那句好记性不如烂笔头.做笔记终归是利大于弊的.麻烦一点但是却受用. 突然想从头开始,看一些过去的书,补一些 ...

  9. LayaAir引擎——(三)

    LyaAir引擎(JavaScript)实现图片的翻转一半 图片4.png位于bin/开场过渡 文件夹下,图片大小150*30(根据实际情况做调整) var button; var scale1 = ...

  10. PHP explode()函数

    源起:将日期格式的字符串拆分成年.月.日,用于组织关系介绍信的特定位置打印.感谢倪同学提供思路 定义和用法 explode()函数把字符串分割为数组 语法 explode(separator,stri ...