Centos5.x/Linux下升级python到python2.7版本教程

起因


实验室的服务器centos还是5.11版本,python版本竟然是2.4, 这几天想写点实验跑跑,但是这版本有点不爽,因此今天给python升了下级
这里写图片描述

升级


到目前位置Python2的最新版本是2.7.11

下载python源码


首先到官网下载python2.7.11版本,然后编译安装即可

wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz

这里写图片描述

安装依赖包


这里可能需要安装一些一来的包,主要有zlib和OpenSSl
否则可能会遇到

zlib

不安装会出现问题:ImportError: cannot import name HTTPSHandler。

CentOS: yum install zlib zlib-devel
Ubuntu: apt-get install zlib-dev

openssl

不安装会出现问题 ImportError: cannot import name HTTPSHandler。

Centos : yum install openssl openssl-devel -y

Debian or Ubuntu : apt-get install libssl

编译安装


tar zxvf Python-2.7.11.tgz
cd Python-2.7.11
./configure
make && make install

这里写图片描述

替代原来版本


先备份原来的python,并把python2.7做软连接到新的位置

mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V
这里写图片描述

修改yum


yum其实是一个python的脚本程序,我们更新了python库,会导致郁闷不能正确运行,因为yum使用的是python2.4版本,但是我们升级后,/usr/bin/python指向了2.7版本

修改/usr/bin/yum文件的第一行
#/usr/bin/python改成#/usr/bin/python2.4
这样yum可以正常运行了

升级pip

我们编译并安装了新的python,因此所以pip也需要升级到配套的版本:
安装pip需要setuptools或者ez_setup.py
可以参照我之前的博客安装 安装Python的包管理工具Pip
当然我们也可以去下载一些已经写好的一键下载工具包http://www.freelycode.com/static/python/get-pip.py

安装pip


这里写图片描述

验证pip


这里写图片描述

遇见问题

下面都是我们编译时可能需要的依赖包

zlib not available

在安装easy_install或者pip时出现如下错误
出现:zipimport.ZipImportError: can’t decompress data; zlib not available错误
修改配置重新编译python

cd Python-2.7.11
./configure
vim Modules/Setup
在这里把454行左右的 找到

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

最后重新编译运行
make
make install

ImportError: cannot import name HTTPSHandler


运行时报错:ImportError: cannot import name HTTPSHandler。

解决方法:

需要在安装python前,安装OpenSSl。

命令如下:

Centos : yum install openssl openssl-devel -y

Debian or Ubuntu : apt-get install libssl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值