原文:http://ruter.sundaystart.net/2015/12/03/Update-python/

貌似CentOS 6.X系统默认安装的Python都是2.6版本的?平时使用以及很多的库都是要求用到2.7版本或以上,所以新系统要做的第一件事必不可少就是升级Python啦!在这里做个简单的升级操作记录 :)

0. 依赖安装

 
yum -y update
yum install epel-release
yum install sqlite-devel
yum install -y zlib-devel.x86_64
yum install -y openssl-devel.x86_64

1. 升级Python

系统默认安装的Python是2.6.6的,我们需要升级到Python2.7,用wget命令从官方下载源文件,然后解压进行编译

1
2
3
wget http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
unxz Python-2.7.10.tar.xz
tar -vxf Python-2.7.10.tar

执行完以上命令会解压得到Python-2.7.10这个文件夹,进入该目录并执行以下命令进行配置

1
./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlib

其中--enable-loadable-sqlite-extensions是sqlite的扩展,如果需要使用的话则带上这个选项。

之后执行

1
vi ./Modules/Setup

找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz去掉注释并保存,然后进行编译和安装

1
make && make install

安装好Python2.7之后我们需要先把Python2.6备份起来,然后再对yum的配置进行修改,如果不进行这一步操作的话,执行yum命令将会提示你Python的版本不对。

执行以下命令,对Python2.6进行备份,然后为Python2.7创建软链接

1
2
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

然后编辑/usr/bin/yum,将第一行的#!/usr/bin/python修改成#!/usr/bin/python2.6.6
现在执行yum命令已经不会出现之前的错误信息了。

我们执行python -V查看版本信息,如果出现错误

error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

编辑配置文件

1
vi /etc/ld.so.conf

添加新的一行内容/usr/local/lib,保存退出,然后

1
2
/sbin/ldconfig
/sbin/ldconfig -v

2. 安装pip

下载最新版的pip,然后安装

1
2
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

查找pip的位置

1
whereis pip

找到pip2.7的路径,为其创建软链作为系统默认的启动版本

1
ln -s /usr/local/bin/pip2.7 /usr/bin/pip

pip安装完毕,现在可以用它下载安装各种包了 :)

CentOS升级Python2.6到Python2.7并安装pip的更多相关文章

  1. centos6.5 升级python 到 python 2.7.11 安装 pip

    1.首先官方下载源码,然后安装(./configure,make all,make install,make clean,make distclean) 注意:需要先安装zlib-devel,open ...

  2. 记录一次CentOS环境升级Python2.6到Python2.7并安装最新版pip

    背景介绍 一次实验中需要安装python-etcd包.安装这个包时要求的python和pip版本比目前系统的版本高. 系统是centos6.6    64位 1 2 3 4 5 6 7 [root@m ...

  3. Centos——升级Python2.7及安装pip

    CentOS升级Python2.7及安装pip 1) 升级Python2.7 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  4. centos升级系统自带的python2.6为python2.7

    转自:https://www.cnblogs.com/terryguan/p/7233801.html 查看当前系统中的 Python 版本 python --version 返回 Python 2. ...

  5. CentOS升级Python2.7导致使用pip等命令安装模块失败

    报错如下: # pip Traceback (most recent call last): File , in <module> from pkg_resources import lo ...

  6. centos6默认python2.6升级2.7 卸载python2.6升级2.7

    转自:http://blog.csdn.net/u010098331/article/details/52190354 本文介绍CentOS 6.3从自带的Pyhon版本是2.6升级到2.7.6的方法 ...

  7. python基础之centos6.5 升级 python2.7, 安装pip, MySQLdb

    这个仅仅是为了运行脚本需求, 将centos6.5中的 python 2.6.6升级到了 2.7 并且安装和了 pip 和 MySQLdb 1.先装依赖 yum install zlib-devel ...

  8. CentOS 6.X更新Python2.7.x版本 安装pip

    在安装新版之前安装 先安装bz2.zlib,执行下列代码进行安装 yum install -y zlib-devel bzip2-devel xz-libs wget openssl openssl- ...

  9. Linux下安装pip(遇到了python2.6升级为python2.7道路上的坑,原因已经找到,只差临门一脚了,以后补上)

    1.先说一下什么是pippip 是“A tool for installing and managing Python packages.”,也就是说pip是python的软件安装工具2.下面介绍怎么 ...

随机推荐

  1. iterm2用法与技巧

      1.设置窗口 定位到 [Preferences - Profiles - Window] 新窗口设定风格设为 [Top of Screen],这样每次新打开终端都会固定出现在屏幕的顶端且不会有窗口 ...

  2. 20170711xlVBA批量制图一例

    Public Sub GatherDataPicker() Application.ScreenUpdating = False Application.DisplayAlerts = False A ...

  3. codeforces 578c//Weakness and Poorness// Codeforces Round #320 (Div. 1)

    题意:一个数组arr,一个数字x,要使arr-x的最大子段最小,问该最小值. 三分x,复杂度logn,内层是最大子段的模板,只能用n复杂度的.因为是绝对值最大,正负各求一次,取大的.精度卡得不得了,要 ...

  4. android--------listview之适配器

    ListView之适配器的使用,包含了ArrayAdapter,SimpleAdapter ,BaseAdapter等适配器. 1:ArrayAdapter /**** * * * ArrayAdap ...

  5. Confluence 6 LDAP 连接池配置参数

    初始连接池大小(Initial Pool Size) 当初始化 LDAP 连接池的时候初始化创建的 LDAP 连接数量. 1 期望的连接池大小(Preferred Pool Size) 优化连接池的大 ...

  6. 浏览器编辑web页面的方法

    F12打开控制台执行 document.body.contentEditable='true'; 这样就可以随便修改了

  7. en笔记音标

      清辅音和浊辅音区别 开音节和闭音节区别 1 2 3 4 5 6 7 a o e i u w y 开音节 /eɪ/ /əu/ /i:/ /aɪ/ Ju: /aɪ/ 闭音节 /æ/ /ɒ/ /ə/ / ...

  8. HTTP使用 multipart/form-data 上传多个字段(包括文件字节流 octet-stream)

    自己用到的一个向服务器上传多个字段的实例,代码不全,仅做参考. 用的是WinINet,上传的字段中包括文件字节流 /* PHttpRequest中自行组装body之后,HttpSendRequest中 ...

  9. 为什么要使用encodeURL转换URL编码?

    参考: https://www.cnblogs.com/haitao-fan/p/3399018.html http://www.ruanyifeng.com/blog/2010/02/url_enc ...

  10. Jena RDF API

    1.  jena 简单使用 RDF可以用简单的图示:包括节点以及连接节点的带有箭头的线段来理解. 这个例子中,资源 http://.../JohnSmith 表示一个人.这个人的全名是 John Sm ...