Centos 6.5操作系统深度依赖python2.6,很多常用的系统工具都是基于python2.6的,比如yum等。所以在升级python时,不能删除2.6版本
1 下载安装python2.7
$ wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
$ tar zxvf Python-2.7.12.tgz
$ cd Python-2.7.12
$ ./configure --prefix=/usr/local
$ make
# 安装时需要切换到root或者使用sudo指令
sudo make install
./configure指令的--prefix=/usr/local
参数,指的python2.7的安装目录。因为系统python的可执行目录在/usr/bin下,在安装python2.7时需要与系统python2.6区分开来。其实、在安装python-2.7.12时,--prefix=/usr/local
参数是可以不写的,因为./configure指令默认情况下就是指定/usr/local作为安装目录的。
在安装成功之后,可以在/usr/local/bin
目录下找到如下几个python可执行文件:
$ ls python*
python python2 python2.7 python-config python2-config python2.7-config
其中、python python2
是指向python2.7
的软连接;python-config python2-config
是指向python2.7-config
的软连接;这些软连接有可能会与系统/usr/bin目录下的python相关命令冲突,这里将/usr/local/bin目录下的软连接备份并删除,重新创建一个python2.7的软连接:
# ln -s python2.7 python27
# ls python27
lrwxrwxrwx. 1 root root 9 Aug 29 10:42 python27 -> python2.7
在命令行,直接键入python27就可以进入python2.7开发环境;在开发python2.7的脚本程序时,需要在python脚本最开始添加#!/usr/local/bin/python27
以确定当前脚本需要使用python2.7执行
2 安装easy_install与pip
因升级到python2.7,原python2.6下的python包在python2.7下都不可用,这时需要重新安装这些包,首先要安装就是easy_install和pip。
源码安装easy_install
# wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
# python27 ez_setup.py #切记这里要使用python2.7来执行安装
安装好easy_install之后,在/usr/local/bin/目录下会生成如下两个可执行文件:easy_install easy_install-2.7
;为了不和python2.6的easy_install冲突,这里将easy_install重命名并创建一个软连接指向easy_install-2.7
# mv easy_install easy_install_2.7
# ln -s easy_install-2.7 easy_install27
使用easy_install安装pip
# easy_install27 pip #这里使用2.7版本的easy_install
与easy_install类似,对/usr/local/bin目录下的pip可执行文件,进行如下操作,防止与2.6版本冲突
# mv pip pip_2.7
# mv pip2 pip2_2.7
# ln -s pip2.7 pip27
而后,就可以使用easy_install27或者pip27来安装python2.7版本下的常用包了,例如:
# pip27 install nose
# pip27 install numpy
# pip27 install scipy
# pip27 install requests