在使用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:
pip为python的包管理工具,类似于CentOS 的yum和Node.js的npm,相信接触过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 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 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 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所示,之后就可以使用ipython的TAB自动补全功能、自动缩进功能和类似sorted??查看方法介绍的功能了。
图-4 开始使用ipython
补充:
最后说一下,如果在make && make install Python2.7.10时系统中如果没有安装openssl-devel,zlib-devel,readline-devel,sqlite-devel四个包会分别出现什么问题。 如果没有安装zlib-devel,在安装setuptools时会报如图-5所示错误,即RuntimeError: Compression requires the (missing) zlib module错误:
图-5 缺少zlib-devel
如果没有安装openssl-devel,在使用pip install ipython命令安装ipython时会报如图-6所示错误,即ImportError: cannot import name HTTPSHandler 错误:
图-6 缺少openssl-devel
如果没有安装readline-devel和sqlite-devel,在使用ipython时会发现进入时报三个 WARNING,具体影响是ipython不能记录历史信息(当然这一点影响倒不大),同时ipython并没有颜色提示,TAB补全和自动缩进功能也没有,这样的ipython就显得毫无意义了,如图-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之前就确认这四个包的安装情况,以便一次成功。