您的位置:首页 > 运维架构 > Linux

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

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

一、python2.6升级至Python2.7

1.查看当前python版本

$ python -V
$ python 2.6.6


2.下载Python-2.7.12

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


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

$  tar zxvf Python-2.7.12.tgz

$ cd Python-2.7.12


4.安装

$ ./configure
$ sudo make all
$ sudo make install
$ sudo make clean
$ sudo make disclean


5.查看版本信息

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


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  # 建立软连接


7.重新检验Python版本

$ python -V
$ sudo python -V


需要注意的是,可能会出现普通用户的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


将文件头部的

#!/usr/bin/python


改为

#!/usr/bin/python2.6.6


二、安装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


2.下载安装pip

$ tar -zxvf pip-9.0.1.tar.gz
$ cd pip-9.0.1
$ sudo python setup.py install


–参考:

1.http://blog.csdn.net/jcjc918/article/details/11022345

2.http://blog.csdn.net/snail200x/article/details/50553656
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos python linux