CentOS 6.5升级Python和安装IPython
<转自:http://www.noanylove.com/2014/10/centos-6-5-sheng-ji-python-he-an-zhuang-ipython/>自己常用.以做备份
以前用CentOS 5.8的时候,写过一篇《升级CentOS的Python》。后来换成了CentOS 6.5,系统自带的Python版本是2.6.6,就懒得折腾。最近安装IPython,才发现IPython 2.3需要Python 2.7或者大于等于3.3,如图一所示。只有升级Python了。

图一:安装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目录下的符号链接。
mv /usr/bin/python /usr/bin/python2.6 #其实不要这句也行,加上了预防万一
ln -sf /usr/local/python/bin/python2.7 /usr/bin/python
再执行python --version,可以看到已经是2.7.8版了,如图三所示。

图三:成功安装Python 2.7.8
5、修正yum
现在,系统默认调用Python 2.7.8,执行yum会出现如图四所示错误。

图四:yum无法执行
解决方法:将/usr/bin/yum文件开头的第一行代码:
#!/usr/bin/python
修改为:
#!/usr/bin/python2.6
6、安装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
7、安装IPython
有了pip,安装IPython简直So easy。(同样将IPython的可执行文件链接到/usr/bin目录下)
pip install ipython
ln -s /usr/local/python/bin/ipython /usr/bin/ipython
如图五所示。

图五:安装IPython
8、安装readline扩展模块
没有readline支持的IPython弱得没法用。这里安装readline:
yum install readline-devel
yum install patch #相信我,不安装这个就无法编译readline
pip install readline
之后,IPython的高亮显示和代码补完等功能就可以用了,如图六所示。当然,现在的IPython只具备了最基本的功能,还有一些模块没有安装,所以无法使用诸如并行计算、Qt Console、Notebook等功能。不过这不是我们这篇文章要讨论的内容了。以后有时间会写一篇安装使用IPython其他模块和功能的文章。

图六:安装好的IPython
CentOS 6.5升级Python和安装IPython的更多相关文章
- CentOS 6.5升级Python和安装IPython(亲测可用)
python的升级(2.6------>2.7.x) 如下地址:http://note.youdao.com/share/?id=2928aeda020123bfdf2a2c76bc75e4a7 ...
- CentOS 6下升级Python版本
CentOS6.8默认的python版本是2.6,而现在好多python组件开始只支持2.7以上的版本,比如说我今天遇到的pip install pysqlite,升级python版本是一个痛苦但又常 ...
- CentOs 6.x 升级 Python 版本【转】
在CentOS 6.X 上面安装 Python 2.7.X CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本.所以需要进行版本升级.由于一些系统工具和服 ...
- linux centos系统下升级python版本
本文参考资料:https://www.cnblogs.com/leon-zyl/p/8422699.html,https://blog.csdn.net/tpc1990519/article/deta ...
- CentOS 6.5升级Python后yum不可用的解决方案
因开发需要,今天把CentOS 6.5自带的Python2.6.6升级到了Python2.7.3.按照如下步骤进行升级 1.查看当前系统python的版本 python -V 2.下载2.7.3版本的 ...
- CentOS 7下升级Python版本到3.x系列
由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...
- CentOS 7下升级python版本到3.X
由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...
- Linux 下升级python和安装pip
Linux版本升级: 1. 首先确认Linux操作系统中自带的python 版本时候与自己所需要的版本一致 所有的python版本都在https://www.python.org/ftp/pytho ...
- centos 6.4 升级python到版本2.7.12
注意:需要root权限 查看python版本:python --version 1.下载Python-2.7.12wget https://www.python.org/ftp/python/2.7. ...
随机推荐
- RabbitMQ学习: 介绍
1. 介绍 RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue )协议的开源实现.用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面都非 ...
- Spring异常抛出触发事务回滚
Spring.EJB的声明式事务默认情况下都是在抛出unchecked exception后才会触发事务的回滚 /** * 如果在spring事务配置中不为切入点(如这里的切入点可以定义成test*) ...
- php工作笔记3-php基础加强
1.自动加载 autoload机制可以使得PHP程序有可能在使用类时才自动包含类文件,而不是一开始就将所有的类文件include进来,这种机制也称为lazy loading.通常PHP5在使用一个类时 ...
- echarts引入及应用
1.在官网上下载echarts并引入项目中 <script src="js/echarts.js"></script> 2.给一个DOM作为图表展示的容器, ...
- NSMutableAttributedString 的使用
NSMutableAttributedString *msAttriStr = [[NSMutableAttributedString alloc] initWithString:[NSString ...
- 通过JDBC进行简单的增删改查(以MySQL为例)
目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 ( ...
- Bloom Filter学习
参考文献: Bloom Filters - the math http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html B ...
- ASP.NET之Cookie(坑爹的Response.Cookies.Remove)(转)
在web开发中Cookie是必不可少的 .NET自然也有一个强大的Cookie操作类,我们用起来也非常方便,不过在使用中我们会发现一个坑爹的事情Response.Cookies.Remove删除不 ...
- 大毕设-MATLAB-滤波器的实现
在工程实际中遇到的信号经常伴有噪声,为了消除或减弱噪声,提取有用信号,必须进行滤波,能实现滤波功能的系统称为滤波器.严格地讲,滤波器可以定义为对已知的激励提供规定响应的系统,响应的要求可以在时域或频域 ...
- 15 个有趣的 JavaScript 与 CSS 库
原文转载:http://www.codeceo.com/article/15-interesting-js-css-framework.html 1. Wing Wing 是一个微型(压缩后仅有4KB ...