<转自:http://www.noanylove.com/2014/10/centos-6-5-sheng-ji-python-he-an-zhuang-ipython/>自己常用.以做备份

以前用CentOS 5.8的时候,写过一篇《升级CentOS的Python》。后来换成了CentOS 6.5,系统自带的Python版本是2.6.6,就懒得折腾。最近安装IPython,才发现IPython 2.3需要Python 2.7或者大于等于3.3,如图一所示。只有升级Python了。

图一:安装IPython需求

已经安装好gcc等编译工具。系统自带Python的版本和安装位置如图二所示:

图二:系统自带Python的安装信息

安装步骤

1、安装开发库文件

编译Python只要有gcc编译器就足够了,但一些扩展模块需要额外的库,否则一些Python模块将不可用(比如Python的zlib模块需要zlib-devel,ssl模块需要openssl-devel)。用户可以根据需要,选择性的安装这些扩展模块。这里我们安装zlib、ssl和sqlite3的库文件。

  1. yum install zlib-devel openssl-devel sqlite-devel

2、下载Python

目前最新版本为2.7.8。

  1. wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  2. tar zxvf Python-2.7.8.tgz

3、编译安装

为了方便管理,将Python安装到/usr/local/python路径下。

  1. cd Python-2.7.8
  2. ./configure --prefix=/usr/local/python
  3. make
  4. make install

4、替换系统自带Python

安装后,Python 2.7.8的可执行文件位于/usr/local/python/bin。先将系统自带的Python重命名为python2.6,再创建新的Python到/usr/bin目录下的符号链接。

  1. mv /usr/bin/python /usr/bin/python2.6 #其实不要这句也行,加上了预防万一
  2. ln -sf /usr/local/python/bin/python2.7 /usr/bin/python

再执行python --version,可以看到已经是2.7.8版了,如图三所示。

图三:成功安装Python 2.7.8

5、修正yum

现在,系统默认调用Python 2.7.8,执行yum会出现如图四所示错误。

图四:yum无法执行

解决方法:将/usr/bin/yum文件开头的第一行代码:

  1. #!/usr/bin/python

修改为:

  1. #!/usr/bin/python2.6

6、安装setuptools和pip

玩Python不能没有setuptools和pip。这里使用pip提供的安装脚本,自动安装setuptools和pip。

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

因为之前更改了Python的安装目录,Python扩展模块的可执行文件会被安装到/usr/local/python/bin目录下。为了能够直接运行这些文件,我们要么创建到/usr/bin目录下的符号链接,要么将/usr/local/python/bin目录添加到PATH环境变量中。为了避免不必要的冲突,这里采用创建符号链接的方式。

  1. ln -sf /usr/local/python/bin/pip /usr/bin/pip
  2. ln -sf /usr/local/python/bin/easy_install /usr/bin/easy_install

7、安装IPython

有了pip,安装IPython简直So easy。(同样将IPython的可执行文件链接到/usr/bin目录下)

  1. pip install ipython
  2. ln -s /usr/local/python/bin/ipython /usr/bin/ipython

如图五所示。

图五:安装IPython

8、安装readline扩展模块

没有readline支持的IPython弱得没法用。这里安装readline:

  1. yum install readline-devel
  2. yum install patch #相信我,不安装这个就无法编译readline
  3. pip install readline

之后,IPython的高亮显示和代码补完等功能就可以用了,如图六所示。当然,现在的IPython只具备了最基本的功能,还有一些模块没有安装,所以无法使用诸如并行计算、Qt Console、Notebook等功能。不过这不是我们这篇文章要讨论的内容了。以后有时间会写一篇安装使用IPython其他模块和功能的文章。

图六:安装好的IPython

CentOS 6.5升级Python和安装IPython的更多相关文章

  1. CentOS 6.5升级Python和安装IPython(亲测可用)

    python的升级(2.6------>2.7.x) 如下地址:http://note.youdao.com/share/?id=2928aeda020123bfdf2a2c76bc75e4a7 ...

  2. CentOS 6下升级Python版本

    CentOS6.8默认的python版本是2.6,而现在好多python组件开始只支持2.7以上的版本,比如说我今天遇到的pip install pysqlite,升级python版本是一个痛苦但又常 ...

  3. CentOs 6.x 升级 Python 版本【转】

    在CentOS 6.X 上面安装 Python 2.7.X CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本.所以需要进行版本升级.由于一些系统工具和服 ...

  4. linux centos系统下升级python版本

    本文参考资料:https://www.cnblogs.com/leon-zyl/p/8422699.html,https://blog.csdn.net/tpc1990519/article/deta ...

  5. CentOS 6.5升级Python后yum不可用的解决方案

    因开发需要,今天把CentOS 6.5自带的Python2.6.6升级到了Python2.7.3.按照如下步骤进行升级 1.查看当前系统python的版本 python -V 2.下载2.7.3版本的 ...

  6. CentOS 7下升级Python版本到3.x系列

    由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...

  7. CentOS 7下升级python版本到3.X

    由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...

  8. Linux 下升级python和安装pip

    Linux版本升级: 1.  首先确认Linux操作系统中自带的python 版本时候与自己所需要的版本一致 所有的python版本都在https://www.python.org/ftp/pytho ...

  9. centos 6.4 升级python到版本2.7.12

    注意:需要root权限 查看python版本:python --version 1.下载Python-2.7.12wget https://www.python.org/ftp/python/2.7. ...

随机推荐

  1. NHibernate系列文章二十三:NHibernate查询之Criteria查询(附程序下载)

    摘要 上一篇文章介绍了NHibernate HQL,他的缺点是不能够在编译时发现问题.如果数据库表结构有改动引起了实体关系映射的类有改动,要同时修改这些HQL字符串.这篇文章介绍NHibernate面 ...

  2. thinkphp 配合mongodb

    首先在config.php里面添加配合mongodb的数据库连接 'DB_TYPE'=>'mongo',// 数据库类型 'DB_HOST'=>'localhost',// 服务器地址 ' ...

  3. delphi 类方法、类变量、类常量、类属性的研究,自己的研究

    群里我师傅给我的答案: unit Unit4; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Vari ...

  4. delphi判断文件类型

    function getFileType(inputFile:string):string;const JPEG_FLAG_BEGIN = $D8FF; JPEG_FLAG_END = $D9FF; ...

  5. toolkit:Accordion DataTemplate ListBox TextBlock Interaction.Triggers

    困扰好几个小时的问题终于解决了,本人系菜鸟,使用MVVM设计模式,绑定DataTemplate的Command,需要使用 DataContent的资源,否则无法触发ICommand ClickChil ...

  6. jQuery MiniUI Demo

    http://www.miniui.com/demo/#src=datagrid/datagrid.html

  7. HTML5 CANVAS画图 beginPath和closePath

    beginPath这个canvas函数我很早就讲过了,他的作用很简单,就是开始一段新路径,我们先来看下面的一小段代码: var ctx = document.getElementById('cvs') ...

  8. SQL SELECT SET

      SELECT SET 同时对多个变量同时赋值时 支持 不支持 表达式返回多个值时 将返回的最后一个值赋给变量 出错 表达式未返回值时 变量保持原值 变量被赋null值

  9. BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像

      BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本.完整的BASE64定义可见 RFC1421和 RFC2045.编码后的数据比原始数据略长,为原来的4/3.在电子 ...

  10. WPF的"路径标记语法"

    在此之前我们先了解一下WPF的"路径标记语法" M:表示绘制起点 // M 0,0 L:表示绘制直线 (H:横线 V:竖线)  // L 100,0 C:三次方贝塞尔曲线   // ...