将python2.6 升级到python2.7

一、python2.6升级至Python2.7

1.查看当前python版本

$ python -V
$ python 2.6.6    # 2.6 版本的pip下载uwsgi是一个坑,不能正常使用,建议最后不要升级到3.0版本部署django项目

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.更新python版本

yum -y install gcc gcc-devel openssl openssl-devel python-devel
./configure
make all
make install
make clean
make disclean

5.查看版本信息

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

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

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

7.重新检验Python版本

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”的报错。
解决方式如下:

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

yum -y install epel-release
yum install python-pip
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
python get-pip.py

mv /usr/bin/pip /usr/bin/pip2.6.6
ln -s /usr/local/bin/pip2.7 /usr/bin/pip
pip --version
/usr/bin/pip --version

 

posted @ 2020-08-28 10:12  Pythia丶陌乐  阅读(537)  评论(0编辑  收藏  举报