IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性。
特别是代码补全功能非常实用。
安装ipython也非常简单,一台linux服务器上可以安装多个Python版本,根据Python版本安装对应的ipython;
例如:centos 6.3已经自带Python 2.6.6,这个时候可以自己编译安装Python2.7或者更高版本,每次调用输入绝对路径即可。
安装了Python2.7后,下载ipython安装包,目前最新的是ipython-3.0.0.tar.gz,解压后进入目录开始安装:
/usr/local/python27/bin/python2.7 setup.py build
/usr/local/python27/bin/python2.7 setup.py install
ln -sv /usr/local/python27/bin/ipython /usr/bin/
安装后软链接到/usr/bin目录下,方便使用,这样安装后会出现一个问题,如下:
进入后没有高亮显示,也没有tab键补全功能,原因是因为上面的warning。
第一个可以忽略,不影响使用,解决方法:
yum install sqlite-devel -y
然后重新编译Python后应该就可以解决。
主要的是第二个warning,提示没有Readline无法加载进来,解决方法:
yum install readline-devel -y
然后再下载setuptools-16.0.tar.gz这个工具,安装到Python2.7目录下,安装方式与ipython安装方式相同,安装完成后就可以在Python目录bin中发现easy_install这个工具,直接:
/usr/local/python27/bin/easy_install readline
发现报错:
从字面意思理解是找不到这个文件,网上查了下,说是readline-devel路径不对造成的,要手动去安装,首先查看readline-devel安装在哪里:
网上是有libreadline.a、libhistory.a这2个文件的,但是我的系统上面没有显示这2个文件,于是直接find查找到这2个文件:
[[email protected] bin]# find / -name libreadline.a
/usr/local/lib/libreadline.a
按照网上的方法,下载readline-6.2.4.1.tar.gz,进入目录修改setup.py这个文件
将框框内的路径修改为find出的路径:/usr/local/lib/libreadline.a
然后安装:
/usr/local/python27/bin/python setup.py install
结果是仍然报错:
反复安装了多次readline-devel,仍然报上面的错误,网上的结果是也报错,但不是报这个错:
他这边这样处理以后安装成功了。
经过反复的研究,最终发现了根本不需要修改配置文件,也不用去找文件路径,也不用自己去下载readline-6.2.4.1.tar.gz手动去安装。
在执行/usr/local/python27/bin/easy_install readline发现报错后,直接安装patch:
yum -y install patch
然后再:
安装readline成功以后再进入ipython:
终于可以看到代码自动补完,自动缩进,高亮显示了。
总结下:
安装ipython需要安装的包:
yum -y install readline-devel sqlite-devel ncurses-devel patch
手动安装setuptools后,直接使用easy_install安装readline更方便快捷
/usr/local/python27/bin/easy_install readline
或者如下安装也可:
yum -y install readline-devel patch
pip install ipython
版权属于:
运维之道
转载时必须以链接形式注明原始出处及本声明。