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

yipeiwu_com7年前Python基础

第一步:升级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的全部步骤了,大家都学会了吗?希望这篇文章对大家的学习或工作带来一定的帮助。

相关文章

Dlib+OpenCV深度学习人脸识别的方法示例

Dlib+OpenCV深度学习人脸识别的方法示例

前言 人脸识别在LWF(Labeled Faces in the Wild)数据集上人脸识别率现在已经99.7%以上,这个识别率确实非常高了,但是真实的环境中的准确率有多少呢?我没有这方...

python 保存float类型的小数的位数方法

python保留两位小数: In [1]: a = 5.026 In [2]: b = 5.000 In [3]: round(a,2) Out[3]: 5.03 In [4]...

图文详解WinPE下安装Python

图文详解WinPE下安装Python

本文介绍了WinPE下安装Python的具体步骤,供大家参考,具体内容如下 一、下载Python Windows安装包,最新版本为3.3.0 下载地址:http://www.python...

python中的sort方法使用详解

Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一、基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法...

python中通过预先编译正则表达式提高效率

前言 在re的正则表达式模块里,可以通过模块的方式来访问正则表达式,但是如果重复多次地使用正则表达式,最好是使用compile函数把正则表达式编译成对象RegexObject,这样会大大...