因为有大量 Python 2.x 代码没有及时升级,开发者已经多次推迟了 2.x
的结束支持时间。但仍然有大量应用无法在截止日期前完成升级,其中之一是
JP摩根的 Athena 交易平台,它计划到 2020 年第四季度迁移到 Python 3.x。  
                  

CentOS 6.X系统下升级Python2.6到Python2.7 的方法,python2.6python2.7

第一步:升级python

CentOs
6.x的系统默认安装的Python版本是2.6.x,想升级到Python2.7.x,从官方下载源文件,然后解压、编译

wget http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
unxz Python-2.7.10.tar.xz
tar -vxf Python-2.7.10.tar

执行完以上命令会解压得到Python-2.7.10这个文件夹,进入该目录并执行以下命令进行配置

./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlib

其中--enable-loadable-sqlite-extensions是sqlite的扩展,如果需要使用的话则带上这个选项。

编译之前需要修改Setup文件,将我们编译需要的zlib去掉注释

vi ./Modules/Setup

找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz去掉注释并保存,然后进行编译和安装

make && make install

安装好Python2.7之后我们需要先把Python2.6备份起来,然后再对yum的配置进行修改,如果不进行这一步操作的话,执行yum命令将会提示你Python的版本不对。执行以下命令,对Python2.6进行备份,然后为Python2.7创建软链接:

mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

然后编辑/usr/bin/yum,将第一行的#!/usr/bin/python修改成#!/usr/bin/python2.6.6

现在执行yum命令已经不会出现之前的错误信息了。我们执行python
-V查看版本信息,如果出现错误

error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

编辑配置文件

vi /etc/ld.so.conf

添加新的一行内容/usr/local/lib,保存退出,然后

/sbin/ldconfig 
/sbin/ldconfig -v

第二步:安装pip

下载最新版的pip,然后安装

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

查找pip的位置

whereis pip

找到pip2.7的路径,为其创建软链作为系统默认的启动版本

ln -s /usr/local/bin/pip2.7 /usr/bin/pip

pip安装完毕,现在可以用它懒人安装各种需要的包了 🙂

第三步:安装scrapy

直接 pip install scrapy就ok了

总结

以上就是CentOS
6.X系统下升级Python2.6到Python2.7的全部步骤了,大家都学会了吗?希望这篇文章对大家的学习或工作带来一定的帮助。

6.X系统下升级Python2.6到Python2.7
的方法,python2.6python2.7 第一步:升级python CentOs
6.x的系统默认安装的Python版本是2.6.x,想升级到Python2….

手把手教你升级CentOS 6.x 自带Python版本

@(Linux)[centos,python,python2.7,升级,安装, setuptools,pip]

前言

CentOS 6.x 系统自带的python版本为 Python
2.6.6,而大多时候我们用到的Python版本为2.7,因此,有必要把2.6的版本升级成2.7的。但是系统并没有提供一键升级的功能,所以本文将手把手教你在CentOS
6.x 系统中安装Python 2.7.x,并替换原来的
Python2.6,让你不踩一个坑就能轻松用上Python2.7哈~

图片 1

前期准备

  1. 科学上网
    从老D博客上下载最新的hosts文件,替换到/etc/hosts,然后sudo service network restart重启网络即可。
  2. 更新系统和开发工具集

yum -y update
yum groupinstall -y 'development tools'
yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget

开始安装

  1. 下载python2.7.x源码,以python2.7.12为例
    wget http://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
  2. 解压Python-2.7.12.tar.xz
    tar xvJf Python-2.7.12.tar.xz
  3. 进入目录:
    cd Python-2.7.12
  4. 运行配置 configure:
    ./configure --prefix=/usr/local
  5. 编译安装:

make
make altinstall
  1. 检查 Python 版本:
    python2.7 -V –> Python 2.7.12

这样python就安装成功了,不过别高兴太早,现在系统的python版本还是2.6,不信你直接输入python -V试试。因此我们需要再进一步设置,将用2.7的版本替换系统2.6的版本

  1. 建立软连接
    ln -s /usr/local/bin/python2.7 /usr/bin/python

如果遇到提示ln: 创建符号链接 "/usr/bin/python": 文件已存在,则需要将原来python删除:
rm -rf /usr/bin/python
然后再执行ln -s /usr/local/bin/python2.7 /usr/bin/python

  1. 检查系统的python版本

[root@iZbp1f11oygl51288t6onfZ Python-2.7.12]# python -V
Python 2.7.12
[root@iZbp1f11oygl51288t6onfZ Python-2.7.12]# which python
/usr/bin/python
  1. 安装 setuptools

# 获取setuptools源文件:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
# 解压:
tar -xvf setuptools-1.4.2.tar.gz
# 进入文件夹
cd setuptools-1.4.2
# 安装 setuptools
python setup.py install
  1. 安装pip

# 获取pip源文件:
wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
# 解压文件
tar zvxf 1.5.5.tar.gz
# 进入文件夹
cd pip-1.5.5/
# 开始安装
python setup.py install
  1. 修复yum
    到这里,现在的yum应该是不能用的,如下所示

[root@iZbp1f11oygl51288t6onfZ pip-1.5.5]# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
   No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.12 (default, Mar 29 2017, 10:39:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]
If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

因为yum使用的是python2.6,不支持python2.7,所以我们要将yum的python版本还原回2.6

sudo vi /usr/bin/yum
将 #! /usr/bin/python
改为 #! /usr/bin/python2.6

这样再运行yum update就不会报错啦~

参考:

CentOs 6.x 升级 Python
版本
Centos 6.4 安装Python 2.7
python-pip