CentOS 6.5升级Python和安装IPython

后来换成了CentOS 6.5,系统自带的Python版本是2.6.6.

图一:安装IPython需求

已经安装好gcc等编译工具。系统自带Python的版本和安装位置如图二所示:

图二:系统自带Python的安装信息

安装步骤

1、安装开发库文件

编译Python只要有gcc编译器就足够了,但一些扩展模块需要额外的库,否则一些Python模块将不可用(比如Python的zlib模块需要zlib-devel,ssl模块需要openssl-devel)。用户可以根据需要,选择性的安装这些扩展模块。这里我们安装zlib、ssl和sqlite3的库文件。

 yum install zlib-devel openssl-devel sqlite-devel

2、下载Python

目前最新版本为2.7.8。

wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar zxvf Python-2.7.8.tgz

3、编译安装

为了方便管理,将Python安装到/usr/local/python路径下。

cd Python-2.7.8
./configure --prefix=/usr/local/python
make
make install

4、替换系统自带Python

安装后,Python 2.7.8的可执行文件位于/usr/local/python/bin。先将系统自带的Python重命名为python2.6,再创建新的Python到/usr/bin目录下的符号链接。

ln -sf /usr/local/python/bin/python2.7 /usr/bin/python2.7

再执行python2.7 --version

 

5、安装setuptools和pip

玩Python不能没有setuptools和pip。这里使用pip提供的安装脚本,自动安装setuptools和pip。

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

因为之前更改了Python的安装目录,Python扩展模块的可执行文件会被安装到/usr/local/python/bin目录下。为了能够直接运行这些文件,我们要么创建到/usr/bin目录下的符号链接,要么将/usr/local/python/bin目录添加到PATH环境变量中。为了避免不必要的冲突,这里采用创建符号链接的方式。

ln -sf /usr/local/python/bin/pip /usr/bin/pip
ln -sf /usr/local/python/bin/easy_install /usr/bin/easy_install

6、安装IPython

有了pip,安装IPython简直So easy。(同样将IPython的可执行文件链接到/usr/bin目录下)

pip install ipython
ln -s /usr/local/python/bin/ipython /usr/bin/ipython

如图五所示。

图五:安装IPython

7、安装readline扩展模块

没有readline支持的IPython弱得没法用。这里安装readline:

yum install readline-devel
yum install patch #相信我,不安装这个就无法编译readline
pip install readline

之后,IPython的高亮显示和代码补完等功能就可以用了,如图六所示。当然,现在的IPython只具备了最基本的功能,还有一些模块没有安装,所以无法使用诸如并行计算、Qt Console、Notebook等功能。不过这不是我们这篇文章要讨论的内容了。以后有时间会写一篇安装使用IPython其他模块和功能的文章。

.

最新文章

  1. 写一个js向左滑动删除 交互特效的插件——Html5 touchmove
  2. ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)
  3. ConcurrentHashMap-----不安全线程hashmap-安全线程-hashtable
  4. Java生成登陆时使用的图片验证码
  5. ios学习笔记(二)之Objective-C类、继承、类别和协议
  6. 使用STM8SF103 ADC采样电压(转)
  7. bzoj 2002 HNOI 2010 弹飞绵羊
  8. html中的块元素和内联元素的区别
  9. ubuntu apt-get安装、卸载软件命令及如何查看日志
  10. js和jquery实现显示隐藏
  11. [Nodejs] node实现静态文件服务器
  12. React笔记:React基础(2)
  13. java面试题复习(二)
  14. HTML5-桌面提醒功能
  15. SQL Server将一列的多行内容拼接成一行
  16. js中获取css样式属性值
  17. 移动端页面:viewport与分辨率的坑
  18. [c#.net]未能加载文件或程序集“”或它的某一个依赖项。系统找不到指定的文件
  19. Linux之常用命令【service】
  20. php 单线程 (http://bbs.csdn.net/topics/390778072)

热门文章

  1. ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】
  2. javascript 一个关于时间排序的算法(一个页面多个倒计时排序)
  3. js控制div是否显示
  4. laravel Event执行顺序
  5. CakeDC(cakephp company)Git workflow--适合于较大团队大型项目开发
  6. Spring MVC详细运行流程
  7. php如何控制用户对图片的访问 PHP禁止图片盗链(转载)
  8. 【转】很有用但鲜有人知的 Linux 命令
  9. 快速查询Python脚本语法
  10. matlab中矩阵和向量的创建