本文转载自: http://www.centoscn.com/image-text/install/2016/0323/6906.html

CentOS的设计理念中有一点是:持久可用。要达到这个目的,CentOS的ABI、API必须是稳定兼容的。这就造成了某些软件不可能随意地升级到最新版本。以Python为例,CentOS6.x中的Python版本一直就是2.6,无论现在的Python做了多少升级,引入了多少新包,加入了多少新功能,解决了多少Bug。

这样做当然有它的好处。例如企业可以一次投入,在整个系统的维护期内(10年)可以不需要因为兼容性问题而被动进行软件的升级。但是这样的策略也有它的弊端。例如无法使用更新的功能,更好的解决方案。

以Python来说,Python2.7引入了argprase这个命令行解析模块,在Python2.6中就只能用optprase这个模块。optpraser这个模块有一个问题,在使用PyInstaller制作可执行文件后,执行时显示不出中文字符。这或许也有PyInstaller的原因,但是往往第三方软件包的维护者只关心主流的版本,对于其它认为“非主流”的版本就没有投入太多的精力。要解决PyInstaller中文乱码的问题,最直接是还是安装Python2.7,使用argprase模块,然后使用相应版本的PyInstaller生成可执行文件。

那么,怎样在CentOS6.x上安装Python2.7呢?因为要保证“持久可用”,也就是说用Python2.6写的代码要一直能够正常地运行在系统中。CentOS并不提供(或者至少没有简单的,安全的方法)Python的直接升级。CentOS 的维护者当然也想到了需要对“特定情况”作出处理。所以给出“软件选集(SCL)”。 
CentOS6.x提供了如下的软件选集

* Ruby 1.9.3 (ruby193)
* Python 2.7 (python27)
* Python 3.3 (python33)
* PHP 5.4 (php54)
* Perl 5.16.3 (perl516)
* Node.js 0.10 (nodejs010)
* MariaDB 5.5 (mariadb55)
* MySQL 5.5 (mysql55)
* PostgreSQL 9.2 (postgresql92)

要安装这些高版本的软件,首先需要安装centos-release-SCL

yum install centos-release-SCL

然后安装所需的软件,以Python为例:

yum install python27

安装完成后,并不意味着系统中自带的Python2.6被升级到2.7版本,事实上,安装python27后对原有系统中的python2.6没有任何影响。因为python2.7是被安装到

/opt/rh/python27

中。要使用python2.7,需要执行:

scl enable python27 bash

它将使python2.7在当前的bash下可以使用。


接下来介绍如何使用pip安装Python的第三方软件包。 
首先下载ez_setup.py:

wget http://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py

在执行了”scl enable python27 bash“的终端中执行如下命令:

python ez_setup.py 
easy_install-2.7 pip

然后就可以使用pip安装软件了。 
这里要注意,每次关闭终端后,python都将变成系统自带的2.6版本。要使用2.7版本,需要重新执行:

scl enable python27 bash

[转载] centos6.x x64 安装python2.7的更多相关文章

  1. CentOS6下编译安装Python2.7.6方法

    关于在CentOS6下编译安装Python2.7.6的方法非常的多了,小编以前也介绍过相关的文章了,下面一聚教程小编再来为各位介绍一下吧,希望文章能帮助到各位.   CentOS下面Python在升级 ...

  2. CentOS6.5上安装Python2.7和PIP

    目前大部分用户使用的CentOS6.5上默认的Python还是2.6版本.升级到Python2.7碰到很多问题.本文将介绍如何安装Python2.7. 1. 安装必要的准备包 安装过程将用到gcc,方 ...

  3. CentOS6.5编译安装Python-2.7

    zlib.x86_64 * yum install zlib.x86_64 openssl-devel.x86_64 * yum install openssl-devel.x86_64 Python ...

  4. centos6.9 x64安装http,php5.6,curl5.29,mysql最后安装zabbix3.4+zabbix客户端

    https://www.zabbix.com/documentation/3.4/zh/manual/installation/requirementshttps://www.zabbix.com/d ...

  5. 在CentOs6.5下安装Python2.7.6和Scrapy

    总在网上看大家的安装教程,这回自己也贡献一份!!! 和民航大学合作项目,去给人家装环境,连简单的Scrapy都没装上,虽然有对方硬件设施坑爹的因素,但主要还是自己准备不充分. 一份好的安装文档应该是可 ...

  6. centos6.5Xen4.2安装

    官方安装文档:http://xen.crc.id.au/support/guides/install/ 一.环境说明 1. 本文采用CentOS6.5 x64,安装开发包及开发工具. 2. 关闭sel ...

  7. centos6最小化安装默认没有 NetworkManager服务

    转载Centos6最小化安装中设置网卡默认启动   Centos 6.0版本提供了一个"最小化"(Minimal)安装的选项.这是一个非常好的改进,因为系统中再也不会存在那些不必要 ...

  8. CentOS6.8 x64+Nginx1.3.8/Apache-httpd 2.4.3+PHP5.4.8(php-fpm)+MySQL5.5.28+CoreSeek4.1源码编译安装

    系统为CentOS6.8 x64服务器版精简安装. 准备工作 部署安装目录 /usr/local/* /var/lib/* /var/lib64/* 下载源文件 #cd /usr/local/src ...

  9. 【转载】CentOS6.5_X64下安装配置MongoDB数据库

    [转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09|  分类: 默认分类|举报|字号 订阅      下载LOFTER客户端 本文转载自zhm&l ...

随机推荐

  1. Jenkins email-ext邮件通知模板

    http://blog.csdn.net/houyefeng/article/details/51344337 示例 以html格式发送送如下内容:邮件内容为项目名称.构建次数.触发原因.构建日志前1 ...

  2. Dom++完美版得到元素到html的距离6/4/21

    function getTop(obj) { var pos={left:0,top:0}; while(obj) { pos.left+=obj.offsetLeft; pos.top+=obj.o ...

  3. 使用cisco SDM管理路由器

    实验拓扑: 实验目的:掌握如何通过SDM对路由器进行管理 实验需求:设置R1使其能够通过SDM进行管理 实验步骤: 步骤一:配置基本IP地址 步骤二:在R1上进行设置,使其能够通过SDM连接 R1(c ...

  4. C++Builder 中动态数组的使用(转)

    源:http://i.cnblogs.com/EditPosts.aspx?opt=1 和AnsiString类型一样,动态数组是为了和DELPHI中的动态数组相兼容而定义,在BCB中,动态数组是用模 ...

  5. Swift中异常处理(续集.正则)

    正则表达式 1.创建正则表达式的规则 let pattern = "abc" 2.创建正则表达式对象 // 方式一:try方式 do { let regex = try NSReg ...

  6. 配置glance使用NFS后端

    首先先使用“glance image-delete”命令删除所有镜像,释放磁盘空间. 停止glance服务:service openstack-glance-api stopservice opens ...

  7. 利用MyEclipse连接数据库并自动生成基于注解或者XML的实体类

    一.利用MyEclipse连接数据库 1. 打开MyEclipse的数据库连接视图 然后在Other中找到"MyEclipse Database"中的DB Browser 2. 在 ...

  8. 一道js题

    <script> var a = 5; function test(){ this.a = 10; a = 15 this.func = function(){ var a = 20 ; ...

  9. mark一篇文章--用nodejs搭建一个本地反向代理环境

    调试线上代码的时候,我们经常遇到的一个问题就是 本地一套环境,线上一套环境,本地没有的文件用线上的这种需求.我简单来说下使用nodejs如何做到. 先说下不用nodejs我们怎么做,工具比如fiddl ...

  10. css Loading 教程

    http://www.cnblogs.com/lhb25/p/loading-spinners-animated-with-css3.html