下载python最新版本2.7.13并编译安装
wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
tar zxf Python-2.7.14.tgz
tar xf Python-2.7.14.tar
cd Python-2.7.14
./configure --prefix=/usr/local/python-2.7.14
make && make install
查看原有命令地址
ll -tr /usr/bin/python*
/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python
/usr/bin/python2 -> python
/usr/bin/python-config -> python2.6-config
备份历史
mv /usr/bin/python /usr/bin/python2.6.6
mv /usr/bin/python-config /usr/bin/python2.6.6-config
配置新的
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.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