Centos6.8 python2.6升级至2.7,并安装setuptools和pip

来源:互联网 发布:php 延迟执行 编辑:程序博客网 时间:2024/06/05 05:09

转载自:http://blog.csdn.net/zx_whu/article/details/71773923


题记:申请了一个测试服务器,自带python版本为2.6,但是至少pyhton2.7才能满足我的需要,花了两个晚上终于搞定,因此将遇到的问题整理一下。

一、python2.6升级至Python2.7

1.查看当前python版本

$ python -V$ python 2.6.6
  • 1
  • 2

2.下载Python-2.7.12

$ wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
  • 1
  • 2

3.解压缩并更改工作目录

$  tar zxvf Python-2.7.12.tgz $ cd Python-2.7.12
  • 1
  • 2
  • 3
  • 4

4.安装

$ ./configure$ sudo make all$ sudo make install$ sudo make clean$ sudo make disclean
  • 1
  • 2
  • 3
  • 4
  • 5

5.查看版本信息

$ /usr/local/bin/python2.7 -V
  • 1

6.简历软连接,使系统默认的python指向python2.7

$ sudo mv /usr/bin/python /usr/bin/python2.6.6   #备份$ sudo ln -s /usr/local/bin/python2.7 /usr/bin/python  # 建立软连接
  • 1
  • 2

7.重新检验Python版本

$ python -V$ sudo python -V
  • 1
  • 2

需要注意的是,可能会出现普通用户的python和sudo的python版本不同的情况,此时要检查一下软连接的建立是否正确,不然,在接下来使用sudo python setup.py install 安装package的时候会安装到Python2.6里。

我就是遇到了这个问题,网上建议的解决方法是使用sudo -i python setup.py install使其寻址到python2.7,或者直接指定python2.7的位置。在我尝试了sudo -i python -V这个命令,发现结果依然是python 2.6.6之后,便放弃了sudo -i的方法,然后重新做了一次软连接,虽然好像我两次做的完全一样,但不知道为什么,成功使得sudo python -V的结果也是python 2.7.12了。

8.指定yum的Python版本 
由于系统python软连接指向python2.7之后,yum将无法正常工作,出现“No module named yum”的报错。 
解决方式如下:

$ sudo vim /usr/bin/yum
  • 1

将文件头部的

#!/usr/bin/python
  • 1

改为

#!/usr/bin/python2.6.6
  • 1
  • 2

二、安装setuptools和pip

在完成Python的升级之后,接下来就是安装python的各种package了。但是有一很大的麻烦:如果使用 sudo yum install python-pip命令安装pip的话,将会直接安装到python2.6中。我还遇到了一个问题就是下载pip的压缩文件,使用sudo python setup.py install命令,又会报错说没有setuptools模块;下了setuptools的压缩文件,网上说使用ez_setup.py安装,但压缩包里只有easy_install.py和setup.py两个安装文件,安装起来也是各种报错。简直让人绝望,还好最后找到了一个ez_setup.py的下载链接(https://bootstrap.pypa.io/ez_setup.py),这才拯救了我。

1.下载安装ez.setup.py

$ wget https://bootstrap.pypa.io/ez_setup.py$ sudo python ez_setup.py install
  • 1
  • 2

2.下载安装pip

$ tar -zxvf pip-9.0.1.tar.gz$ cd pip-9.0.1$ sudo python setup.py install
  • 1
  • 2
  • 3
  • 4

–参考: 
1.http://blog.csdn.net/jcjc918/article/details/11022345 
2.http://blog.csdn.net/snail200x/article/details/50553656