CentOS 6 系统默认 Python 版本是:2.6.6 平时在使用中遇到很多的库要求是 2.7.x 版本的库,比如使用 ConfigParser 库,在 2.6 版本库就不支持没有 value 值的配置项,需要升级到 2.7 以上的库才行,这次就尝试升级一下 Python 到 2.7.x 版本,记录于此。
一、升级 Python 2.7.10 版本
1. 准备安装包,系统是最小化安装
1 2 3 |
# 下载安装依赖的相关包 [root@vip ~]# yum install vim gcc make wget -y [root@vip ~]# yum install openssl-devel zlib-devel readline-devel sqlite-devel -y |
1 2 3 4 5 6 7 |
# 下载 [root@vip ~]# cd /usr/local/src [root@vip ~]# wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz # 解压 [root@vip ~]# tar -zxvf Python-2.7.10.tgz [root@vip ~]# ls Python-2.7.10 Python-2.7.10.tgz |
2. 编译配置安装
1 2 3 4 5 6 |
[root@vip ~]# cd Python-2.7.10 [root@vip Python-2.7.10]# ./configure --enable-shared --enable-loadable-sqlite-extensions \ --prefix=/usr/local/python27 --with-zlib --with-ssl [root@vip Python-2.7.10]# vim ./Modules/Setup # 找到下边这一行内容,去掉注释 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz [root@vip Python-2.7.10]# make && make install |
3. 查看 python 版本信息
1 2 3 |
[root@vip Python-2.7.10]# python -V Python 2.6.6 # 版本依旧是 2.6.6 |
4. 用 python2.7 替换旧版本
1 2 3 4 5 |
[root@vip Python-2.7.10]# cd /usr/bin/ [root@vip bin]# ls python* -l # 旧 python 版本信息 -rwxr-xr-x. 2 root root 4864 2月 22 2013 python lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6 |
1 2 |
[root@vip bin]# mv /usr/bin/python /usr/bin/python2.6.6 [root@vip bin]# ln -s /usr/local/python27/bin/python2.7 /usr/bin/python |
1 2 3 4 5 |
[root@vip bin]# ls python* -l lrwxrwxrwx. 1 root root 33 10月 23 00:01 python -> /usr/local/python27/bin/python2.7 lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6 -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6.6 |
5. 重新验证 Python 版本信息
1 2 |
[root@vip bin]# python -V Python 2.7.10 |
可以看到,系统识别的 python 版本已经是 python 2.7.10
执行 python -V 遇到的问题:
1 2 |
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory # 原因:linux系统默认没有把/usr/local/python27/lib路径加入动态库搜索路径 |
解决:
1 2 3 4 |
[root@vip ~]# vim /etc/ld.so.conf # 添加如下一行内容 /usr/local/python27/lib [root@vip ~]# ldconfig # 使新添加的路径生效 |
二、解决 yum 兼容性问题
因为 yum 是不兼容 Python 2.7 的,所以 yum 不能正常工作,我们需要指定 yum 的 Python 为 2.6。
1. 升级 python 后 yum 出现的问题
1 2 3 4 5 |
[root@vip bin]# yum There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum ... ... ... ... |
2. 编辑 yum 配置文件
1 2 3 4 |
[root@vip bin]# vim /usr/bin/yum #!/usr/bin/python # 第一行修改为 python2.6.6 #!/usr/bin/python2.6.6 |
3. 验证 yum 问题解决
1 2 3 4 |
[root@vip bin]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ... ... ... ... |
三、升级 python 后,安装 pip 工具
1. 下载安装
1 2 |
[root@vip ~]# wget https://bootstrap.pypa.io/get-pip.py [root@vip ~]# python get-pip.py |
2. 设置软连接
1 |
[root@vip ~]# ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip |
四、安装 ipython
1 2 |
[root@vip ~]# pip install ipython==1.2.1 [root@vip ~]# ln -s /usr/local/python27/bin/ipython /usr/bin/ipython |
参考链接:
http://www.jianshu.com/p/7d7c5cf267f4
http://xitongjiagoushi.blog.51cto.com/9975742/1681983/
作者:liwei0526vip 出处:http://www.cnblogs.com/liwei0526vip 欢迎转载,也请保留这段声明。谢谢!