CentOS6.4升级python
CentOS默认安装python2.6.6,核心团队已经停止支持,仿佛会遇到各种奇奇怪怪的问题,现升级为2.7
https://www.python.org/ftp/python/
官方给出所有版本的下载地址,仿佛2.7系列中只有2.7.12今年还在更新...
cd /tmp
(以下操作均为root用户下测试可用,非root暂未测试)
下载压缩包
wget http://python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
解压
tar -Jxvf Python-2.7.12.tar.xz
p.s.如果下载到.tar.bz2压缩文件,使用 tar -jxvf 解压.大写J代表用xz算法来压缩/解压,小写j代表用bzip2算法来压缩/解压,此外还有z代表用gzip算法来压缩/解压(.tar.gz)
cd Python-2.7.12
编译安装
./configure make all make install make clean make distclean
查看安装是否成功
/usr/local/bin/python2.7 -V
显示已安装的2.7.*即为安装成功
设置系统默认的python指向python2.7
mv /usr/bin/python /usr/bin/python2.6.6 ln -s /usr/local/bin/python2.7 /usr/bin/python
查看已安装的Python版本
python -V
显示已安装的2.7.*
解决系统 Python 软链接指向 Python2.7 版本后,因为yum是不兼容 Python 2.7的,所以yum不能正常工作,我们需要指定 yum 的Python版本
vi /usr/bin/yum
将文件头部的#!/usr/bin/python
改成#!/usr/bin/python2.6.6
(安装前系统自带的Python版本)
pip同理
vi /usr/bin/pip
将文件头部的#!/usr/bin/python
改成#!/usr/bin/python2.6.6
其他只要出现问题可能都要这样改吧...
(满满的都是各种bug)
(不知道如何安装依赖包)
So,综上所述,没事不要作死,2.6.6挺好的升级啥2.7 (手动微笑表情*n)
So,下面开始介绍如何恢复python2.6.6
rm /usr/bin/python ln -s /usr/bin/python2.6.6 /usr/bin/python rm /usr/local/bin/python ln -s /usr/bin/python2.6.6 /usr/local/bin/python
运行,发现仍然有依赖包出错(bz2模块)
运行
cp /usr/lib/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7/
可解决
现在愉快的完成了 已经成功的白敲了以上代码(手动微笑表情*n)
此时yum会按照python2.6路径安装(例如mysqldb) pip会按照python2.7安装(例如numpy,scipy,matplotlib,scikit-learn) 具体解决方案未知