linux为centos6,系统默认安装了python2.6,需要执行的python脚本内容包含标准库之xml.etree.ElementTree  用到库里的一个iter方法是python2.7的新特性,所以需要升级到python2.7

1、升级前的准备:

rpm -qa |  grep  zlib 查看是否有zlib和zlib-devel两个模块。如下:

实际一般会缺少zlib-devel模块,最好能上网,使用yum安装

yum -y install zlib-devel 

如果不能上网,需要自己下载和zlib模块版本匹配的rpm包。

(!!!如果先升级python2.7, 后面在安装setuptools时会报zlip模块缺失,还需要重新安装编译python2.7,还需要修改yum 。详见最后!!!)

!!还会缺少openssl-devel模块,yum -y install openssl-devel  如果不先安装的话,后面使用pip会报错,还要重新编译python,详见 pip安装

*-devel开发包中主要包括一些头文件和静态链接库,往往是其他模块在编译时,需要依赖这些*-devel软件包。

通常,如果用系统自带的包,-devel包是不用安装的,如果自己编译安装软件,依赖的库就需要安装devel的包了。这里setuptools依赖zlib-devel;pip依赖openssl-devel;

2、升级python2.7 

wget python2.7地址(或者手动下载安装包)

tar zxvf xxx.tar.gz

./configure

(会在目录下面生成makefile文件,这个makefile主要是为make使用)

make &&make install

make:编译源代码,生成执行文件

make install:把生成的可执行文件,拷贝到系统目录下

3、替换旧的python:

第一步:mv /usr/bin/python  /usr/bin/python2.6

//对系统默认版本python进行操作  /usr/bin/python默认是python解释器   mv是剪切命令

第二步:ln -s  /usr/local/bin/python2.7   /usr/bin/python

指向新版本python,ln -s  源文件  目标文件  。ln -s是软连接,相到于创建了快捷方式,/usr/bin/python就是快捷方式。

注意第一个路径是新安装的python版本路径,而第二个路径是系统默认路径

/usr/bin 和/usr/local/bin 之间的区别在于:usr/bin里面存的是系统自带的一些应用程序的打开方式,而 /usr/local/bin存的应该是用户自己安装的应用程序

第三步:验证是否生效,查看当前Python版本

which pyhton 查看的是当前python的路径:

升级前:/usr/bin/python 系统默认安装

升级2.7 切换后:/usr/local/bin/python  自己安装的

4、安装setuptools

如果想安装第三方模块,需要先安装setuptools

安装setuptools的过程如下:

1、下载setuptools   wget方式或者自己下载

2、解压  tar zxvf  setuptools.tar.gz

3、进入setuptools安装目录,编译和安装

python   setup.py  build

python  setup.py install

5、安装第三方模块

setuptools安装完成后,就可以下载第三方模块安装了

tar -zxvf  xxx.tar.gz

进入解压缩目录,python setup.py install

6、安装pip:

安装完pip模块后,在线安装第三方模块

rpm -qa | grep ssl 查看一下,发现缺少ssl-devel模块

安装ssl-devel : yum -y install openssl-devel

安装完成后,重新编译python 。make&&make install

到此 ,pip就可以成功使用了,就可以很爽的在线安装第三方模块啦!!

PS:安装过程中遇到的问题

一:如果升级前没有先安装zlib-devel模块,执行 python  setup.py install 会报错:Compression requires the (missing) zlib,说明没有zlib模块

问题解决:

1、rpm -qa |  grep  zlib 查看

系统只有zlip模块:zlib-1.2.3-29.el6.i686

2、还缺少zlib-devel模块,直接百度搜索zlib-devel-1.2.3-29.el6.i686.rpm

rpm -ivh  zlib-devel-1.2.3-29.el6.i686.rpm

安装完成后,rpm -qa |  grep  zlib ,就能看到zlib和zlib-devel两个模块

3、进入python2.7目录,重新安装编译 make&&make install

4、进入setuptools目录,python setup.py install, 重新安装成功

二:升级到2.7后yum不能使用

比如上面,需要安装zlib,使用yum 安装最方便。但是会发现yum 不兼容python2.7

问题解决:

三:python脚本开头需要添加:#!/usr/bin/python

linux 升级python2.7的更多相关文章

  1. linux升级python2.7到3.7.0

    1.下载python3.7.0压缩包在 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 2.解压缩 tar -zxvf Py ...

  2. Linux下Python2升级Python3

    Linux下Python2的升级方法: 一.下载Python3安装包: 1.在线下载 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2 ...

  3. CentOS6.x 安装升级Python2.7.x Python3.4.x

    CentOS6.x 安装升级Python2.7.x Python3.4.x 2015-06-07• CentOS.Linux • 评论关闭 CentOS release 6.6 (Final) 安装升 ...

  4. 装python package 时,conda提示会升级python2到python3,那可能是你的windows不支持py2env下的此包。

    装python package 时,conda提示会升级python2到python3, 那可能是你的windows不支持py2env下的此包.比如:win 下,tensorflow就不支持py2的环 ...

  5. Linux安装python2.7、pip和setuptools

    一.说明 CentOS6.5自带python环境为2.6,公司的python环境为2.7. 为了避免出现以后代码出现版本差异,所以把自带的2 .6版本升级到了2.7,过程十分曲折.... 中途遇到的问 ...

  6. linux升级mysql到5.7

    原文:http://blog.csdn.net/qing_gee/article/details/41774265 Linux升级MySQL版本到5.7. 1.下载Linux的5.7版本,主要需要两个 ...

  7. 【转】Mac下升级python2.7到python3.6

    1. 前言 Mac系统自带python2.7,本文目的是将自带的python升级到3.6版本. 网上有本多的做法是让python2.7和python3.X两个版本共存,博主并不知道,是两版本共存好,还 ...

  8. CentOS6升级Python2.6到3.7,错误处理[No module named '_ctypes']

    CentOS6升级Python2.6到3.7,错误处理[No module named '_ctypes'] 因开发需要,在CentOS 6 服务器将Python2进行升级到Python3.由于工作中 ...

  9. 【转载】Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置

    [转载]Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置 1. 系统与软件版本 1.1 系统版本 rhel6.4(Red Hat Enterprise Linux Server r ...

随机推荐

  1. 《汇编语言 基于x86处理器》第十章 - 运行一个 16位实地址汇编程序

    ▶ 书上第 10 章,主要讲了宏,引用了一个 16 位实地址的程序,从代码开始到运行 ● 代码 ; main.asm INCLUDE Macros.inc IF IsDefined( RealMode ...

  2. scrapy之parallel

    Limiting Parallelism jcalderone May 22nd, 2006 This blog has moved! Read this post and its comments ...

  3. png格式的图片在IE6 下透明解决方案

    FF和IE7已经直接支持透明的png图了,下面这个主要是解决IE6下透明PNG图片有灰底的 style="FILTER: progid:DXImageTransform.Microsoft. ...

  4. 机器学习进阶-背景建模-(帧差法与混合高斯模型) 1.cv2.VideoCapture(进行视频读取) 2.cv2.getStructureElement(构造形态学的卷积) 3.cv2.createBackgroundSubtractorMOG2(构造高斯混合模型) 4.cv2.morpholyEx(对图像进行形态学的变化)

    1. cv2.VideoCapture('test.avi') 进行视频读取 参数说明:‘test.avi’ 输入视频的地址2. cv2.getStructureElement(cv2.MORPH_E ...

  5. nginx压缩,缓存

    https://www.darrenfang.com/2015/01/setting-up-http-cache-and-gzip-with-nginx/ https://www.linuxdashe ...

  6. babel 基本

    babel的大概知识点 . babel常用的转译器是babel-preset-env. 常用的配置选项是plugins和presets 常用的使用场景是在webpack中 https://www.cn ...

  7. es6初级之解构----之一

    1. 访问对象属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. 1037C_ Equalize(字符串)

    modify 改变 C. Equalize time limit per test 1 second memory limit per test 256 megabytes input standar ...

  9. Examples: How to Pronounce T

    Examples: How to Pronounce T Share Tweet Share Tagged With: Flap T, Stop T The [t] sound is not alwa ...

  10. LeetCode OJ 22. Generate Parentheses

    题目 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...