ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在CentOS6下升级python

在CentOS6下升级python

原创 Linux操作系统 作者:bestpaydata 时间:2016-04-29 16:01:47 0 删除 编辑
CentOS6.x是我们常用的生产和开发环境,但是CentOS6自带的python版本比较低,我们有时候需要在上面部署需要更高版本python的服务或者框架,比如最新版的Django就已经不再支持python2.6。


网上关于升级python的教程还是很多的,但这些教程大多写得比较简单,只是直接编译安装python,最多修改一下yum的配置文件。然而这种安装方法可能会存在一些的问题和后遗症,这里给一个相对完善一点的升级方案,供参考。


首先检查python的版本,centos6自带python,但通常版本较低
# python -V

检查
gcc
# gcc -v

不同安装方式的centos可能带gcc也可能不带,如果没有gcc,则需要安装
# yum install -y gcc

安装完成后,我们来确定python的安装位置,本次准备安装在 /usr/local/
# cd /usr/local

下载新版本的python,本次安装python 2.7.3,直接从官方下载
# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz


解压至当前文件夹

# tar zxf Python-2.7.3.tgz


重命名文件夹

# mv Python-2.7.3 ./python


注意:先不要着急编译安装,先把zlib装上。python重新安装不能直接继承旧版本的库和工具,我们还有很多包要安装。


安装 zlib-devel

# yum install zlib.x86_64

# yum install zlib-devel.x86_64


编译安装

# pwd

/usr/local/python

# ./configure --prefix=/usr/local/python

# make

# make install



软连接

# mv /usr/bin/python /usr/bin/python_old

# ln -s /usr/local/python/bin/python2.7 /usr/bin/python



修改yum配置

# vi /usr/bin/yum

将文件头部的

#!/usr/bin/python

修改为

#!/usr/bin/python2.6


注意:很多升级python的文章,写到这里就结束了。如果只是用一下python的运行环境,到这一步确实就可以了,但python重新安装后是不能直接继承旧版本的库和工具的。如果你需要管理包,使用python命令行,使用SQLite的话,还需要进行以下工作。


安装 openssl,这一步是为了安装pip,不然安装pip的时候会报错

# yum install openssl openssl-devel



安装 readline-devel,不然在python命令行中使用方向键会识别成^[[D  ^[[A等字符,导致无法使用

# yum install readline-devel


在升级了python之后,原来的sqlite也会变得不可用,需要重新安装。


安装 python-sqlite2,这个包是pythonsqlite的接口

# yum install python-sqlite2.x86_64


安装 sqlite-devel,为了python可以正常使用sqlite

# yum install sqlite-devel



回到python目录下重新编译安装python

# cd /usr/local/python

# make 

# make install


安装 pip,因为我们安装的是python 2.7.3,这个版本不自带pip,所以我们要手动安装。

# wget https://bootstrap.pypa.io/get-pip.py

# python ./get-pip.py

# ln -s /usr/local/python/bin/pip /usr/bin/pip


至此,安装结束。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30109892/viewspace-2090698/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-01-19

  • 博文量
    126
  • 访问量
    985697