在使用CentOS6.6 X64系统时,由于系统自带的python版本为2.6.6,而2.x版本中当前普遍使用的为2.7版本,所以我们要对系统的python版本做一个升级。ipython是一个增强版的shell,支持TAB补全,自动缩进等供能,比默认的python shell要好用很多。下面主要介绍如何升级python版本,安装pip并使用pip install安装ipython搭建一个简易的 python环境。

1. 官网下载安装包:
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2. 解压、编译、安装:
[root@localhost src]# tar zxf Python-2.7.10.tgz
[root@localhost src]# cd Python-2.7.10

这里需要注意,在编译安装之前,需要确保系统中已经安装了openssl-devel,zlib-devel,readline-devel,sqlite-devel,原因会在文末阐述。

[root@localhost Python-2.7.10]# yum install -y openssl-devel zlib-devel readline-devel sqlite-devel
[root@localhost Python-2.7.10]# ./configure --prefix=/usr/local/python2.7.10
[root@localhost Python-2.7.10]# make && make install
3. 修改当前python命令版本:

安装完成后,查看python版本:

[root@localhost ~]# python -V
Python 2.6.6

发现版本并没有改变,需要手动建立软链接:

[root@localhost ~]# rm -f /usr/bin/python

这里不必担心误删除,因为在/usr/bin目录下还有一个python2.6命令:

[root@localhost ~]# python2.6 -V
Python 2.6.6

所以大胆rm -f即可。建立软链接:

[root@localhost ~]# ln -s /usr/local/python2.7.10/bin/python2.7 /usr/bin/python

现在再查看python版本:

[root@localhost ~]# python -V
Python 2.7.10

升级版本后,还剩余一些扫尾工作。由于yum命令只支持到使用python2.6,为了防止yum命令失效,修改/usr/bin/yum文件:

[root@localhost ~]# vim /usr/bin/yum

将第一行的

#!/usr/bin/python

修改为

#!/usr/bin/python2.6

保存退出即可。

4. 安装pip:

pippython的包管理工具,类似于CentOS 的yumNode.jsnpm,相信接触过python的同学对pip都很熟悉。由于准备使用pip来安装ipython,当前前提是要将 pip安装上啦。安装pip需要首先安装setuptools(如下载链接失效,请点击这里自行下载):

[root@localhost src]# wget https://pypi.python.org/pypi?:action=show_md5&digest=f72e87f34fbf07f299f6cb46256a0b06
[root@localhost src]# tar zxf setuptools-18.1.tar.gz
[root@localhost src]# cd setuptools-18.1
[root@localhost setuptools-18.1]# python setup.py install

安装成功后如图-1所示。

图1

图-1 setuptools安装成功

完成后,安装pip(如下载链接失效,请点击这里自行下载):

[root@localhost src]# wget https://pypi.python.org/packages/source/p/pip/pip-7.1.0.tar.gz#md5=d935ee9146074b1d3f26c5f0acfd120e
[root@localhost src]# tar zxf pip-7.1.0.tar.gz
[root@localhost src]# cd pip-7.1.0
[root@localhost pip-7.1.0]# python setup.py install

安装成功后如图-2所示。

图2

图-2 pip安装成功

安装完成后的pip文件位于/usr/local/python2.7.10/bin/目录下,为了方便使用,为pip建立软链接:

[root@localhost ~]# ln -s /usr/local/python2.7.10/bin/pip /usr/bin/pip
5. 安装 ipython:

使用pip命令安装ipython

[root@localhost ~]# pip install ipython

安装成功后如图-3所示。

图3

图-3 ipython安装成功

安装完成后的ipython文件位于/usr/local/python2.7.10/bin/目录下,为了方便使用,为ipython建立软链接:

[root@localhost ~]# ln -s /usr/local/python2.7.10/bin/ipython  /usr/bin/ipython
[root@localhost ~]# ipython

进入如下交互页面,如图-4所示,之后就可以使用ipythonTAB自动补全功能、自动缩进功能和类似sorted??查看方法介绍的功能了。

图4

图-4 开始使用ipython


补充:

最后说一下,如果在make && make install Python2.7.10时系统中如果没有安装openssl-develzlib-develreadline-develsqlite-devel四个包会分别出现什么问题。 如果没有安装zlib-devel,在安装setuptools时会报如图-5所示错误,即RuntimeError: Compression requires the (missing) zlib module错误:

图5

图-5 缺少zlib-devel

如果没有安装openssl-devel,在使用pip install ipython命令安装ipython时会报如图-6所示错误,即ImportError: cannot import name HTTPSHandler 错误

图6

图-6 缺少openssl-devel

如果没有安装readline-develsqlite-devel,在使用ipython时会发现进入时报三个 WARNING,具体影响是ipython不能记录历史信息(当然这一点影响倒不大),同时ipython并没有颜色提示,TAB补全和自动缩进功能也没有,这样的ipython就显得毫无意义了,如图-7所示。

图7

图-7 缺少readline-devel和sqlite-devel

如果已经在缺少包的情况下make && make install Python2.7.10,出现错误时只需yum install对应的包,之后再重新进入Python-2.7.10目录下make && make install即可解决问题,当然make && make install所需的时间还是比较长的,所以建议在make && make install之前就确认这四个包的安装情况,以便一次成功。