linux python 2.7.6 升级到 python2.7.14

1.下载新版本的pythoncss

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgzpython

解压 tar zxf Python-2.7.14.tgznginx

tar xf Python-2.7.14.tarsql

进入目录编译安装bootstrap

cd Python-2.7.14vim

sudo ./configure --prefix=/usr/local/python-2.7.14bash

编译:sudo make python2.7

检查编译是否是都okcurl

sudo make test测试

安装

sudo make install

安装以后检查一下当前python的版本:python --version

2.查看原有命令地址

列出系统下关于python的相关的文件:

ll -tr /usr/bin/python*

or ll -tr /usr/local/python*

结果

/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python
/usr/bin/python2 -> python
/usr/bin/python-config -> python2.6-config

3.备份历史

sudo mv /usr/bin/python /usr/bin/python2.6.6

sudo mv /usr/bin/python-config /usr/bin/python2.6.6-config

4.配置新的

ln -s /usr/local/python-2.7.14/bin/python2.7 /usr/bin/python
ln -s /usr/local/python-2.7.14/bin/python2.7 /usr/bin/python2.7
ln -s /usr/local/python-2.7.14/bin/python-config /usr/bin/python-config

修改yum,(开头)#!/usr/bin/python的python改为python2.6

vim /usr/bin/yum
#!/usr/bin/python
import sys
try:
    import yum

补充:

可是,这种改法,万一哪天你 yum update 了一下,yum 被升级了后,又变回老样子了。
因此,通过个人不懈琢磨和努力,发现了一个办法(网上的解决方案都是抄来抄去,没有一点卵用)。
记住旧版本 Python 2.6.6 的重要路径以下所示,在运行 yum 命令的时候,会提示你哪一个 module 不存在,
不存在的咱们就去旧版本的路径下找,必定能找到的。
找到后,复制到新版本 Python 的路径 /usr/local/lib/python2.7/site-packages/ 下便可。

/usr/lib/python2.6/site-packages/
/usr/lib64/python2.6/site-packages/
个人复制过程是这样的:
yes|cp -r /usr/lib/python2.6/site-packages/yum /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/iniparse /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib64/python2.6/site-packages/rpm /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib64/python2.6/site-packages/curl /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/

查看新的 Python 版本

python --version Python 2.7.14python --version Python 2.7.14

为新版 Python 安装 setuptools

wget https://bootstrap.pypa.io/ez_setup.py -O - | python
 
curl -O -L https://pypi.python.org/packages/a9/23/720c7558ba6ad3e0f5ad01e0d6ea2288b486da32f053c73e259f7c392042/setuptools-36.0.1.zip#md5=430eb106788183eefe9f444a300007f0
unzip setuptools-36.0.1.zip#md5\=430eb106788183eefe9f444a300007f0
cd setuptools-36.0.1
python setup.py install
ln -sv /usr/local/python-2.7.13/bin/easy_install  /usr/bin/easy_install
 
/usr/local/python-2.7.13/bin/easy_install pip
ln -sv /usr/local/python-2.7.13/bin/pip /usr/bin/pip
pip list

 有时会不当心把第三方库的包给删了,操做以下:

mkdir /tmp/repair_python
cd /tmp/repair_python
apt-get download python2.7-minimal libpython2.7-minimal python-minimal python2.7

sudo dpkg -i --force-all *.deb

这以后就按照提示,把要装的python相关的用 sudo apt-get install name*

安装以后测试一下。可否正常使用。