在使用CentOS6.6 X64系统时,由于系统自带的python版本为2.6.6,而2.x版本中当前普遍使用的为2.7版本,所以我们要对系统的python版本做一个升级。ipython是一个增强版的shell,支持TAB补全,自动缩进等供能,比默认的python shell要好用很多。下面主要介绍如何升级python版本,安装pip并使用pip install安装ipython搭建一个简易的 python环境。
[root@localhost ~]# cd /usr/local/src [root@localhost src]#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
[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
安装完成后,查看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
保存退出即可。
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
使用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
之前就确认这四个包的安装情况,以便一次成功。