FunnyWeb

据说这里有很多神奇的东西...

CentOS6.4升级python

2016-10-17 23:07:201976 views

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) 具体解决方案未知