在使用 CentOS6.6 X64 系统时,由于系统自带的 python 版本为 2.6.6,而 2.x 版本中当前普遍使用的为2.7 版本,所以我们要对系统的 python 版本做一个升级。ipython 是一个增强版的shell,支持TAB补全,自动缩进等供能,比默认的 python shell 要好用很多。下面主要介绍如何升级 python 版本,安装 pip 并使用 pip install 安装 ipython,搭建一个简易的 python 环境。
1.官网下载安装包:
[[email protected] ~]# cd /usr/local/src [[email protected] src]#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2.解压、编译、安装:
[[email protected] src]# tar zxf Python-2.7.10.tgz [[email protected] src]# cd Python-2.7.10
这里需要注意,在编译安装之前,需要确保系统中已经安装了 openssl-devel,zlib-devel,readline-devel,sqlite-devel,原因会在文末阐述。
[ro[email protected] Python-2.7.10]# yum install -y openssl-devel zlib-devel readline-devel sqlite-devel [[email protected] Python-2.7.10]# ./configure --prefix=/usr/local/python2.7.10 [[email protected] Python-2.7.10]# make && make install
3.修改当前python命令版本:
安装完成后,查看python版本:
[[email protected] ~]# python -V Python 2.6.6
发现版本并没有改变,需要手动建立软链接:
[[email protected] ~]# rm -f /usr/bin/python
这里不必担心误删除,因为在 /usr/bin 目录下还有一个python2.6 命令:
[[email protected] ~]# python2.6 -V Python 2.6.6
所以大胆 rm -f 即可。建立软链接:
[[email protected] ~]# ln -s /usr/local/python2.7.10/bin/python2.7 /usr/bin/python
现在再查看 python版本:
[[email protected] ~]# python -V Python 2.7.10
升级版本后,还剩余一些扫尾工作。由于yum命令只支持使用 python2.6,为了防止 yum 命令失效,修改 /usr/bin/yum 命令:
[[email protected] ~]# 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(如下载链接失效,请移步https://pypi.python.org/pypi/setuptools自行下载):
[[email protected] src]# wget https://pypi.python.org/pypi?:action=show_md5&digest=f72e87f34fbf07f299f6cb46256a0b06 [[email protected] src]# tar zxf setuptools-18.1.tar.gz [[email protected] src]# cd setuptools-18.1 [[email protected] setuptools-18.1]# python setup.py install
安装成功后如图-1所示。
图-1 setuptools安装成功
完成后,安装 pip(如下载链接失效,请移步https://pypi.python.org/pypi/pip自行下载):
[[email protected] src]# wget https://pypi.python.org/packages/source/p/pip/pip-7.1.0.tar.gz#md5=d935ee9146074b1d3f26c5f0acfd120e [[email protected] src]# tar zxf pip-7.1.0.tar.gz [[email protected] src]# cd pip-7.1.0 [[email protected] pip-7.1.0]# python setup.py install
安装成功后如图-2所示。
图-2 pip安装成功
安装完成后的 pip 文件位于 /usr/local/python2.7.10/bin/ 目录下,为了方便使用,为 pip 建立软链接:
[[email protected] ~]# ln -s /usr/local/python2.7.10/bin/pip /usr/bin/pip
5.安装 ipython:
使用 pip 命令安装 ipython:
[[email protected] ~]# pip install ipython
安装成功后如图-3所示。
图-3 ipython安装成功
安装完成后的ipython 文件位于 /usr/local/python2.7.10/bin/ 目录下,为了方便使用,为 ipython 建立软链接:
[[email protected] ~]# ln -s /usr/local/python2.7.10/bin/ipython /usr/bin/ipython [[email protected] ~]# 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 之前就确认这四个包的安装情况,以便一次成功。
完。