CentOS 6.X系统下升级Python2.6到Python2.7 的方法
作者:daisy 发布时间:2023-01-05 03:36:18
第一步:升级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了
来源:http://wooyaa.me/archives/Update-python?utm_source=tuicool&utm_medium=referral
猜你喜欢
- 最早大家都没有给链接加title的习惯,后来因为w3c标准普及,又集体加上了title。从一个极端走到另个极端,于是出现很多怪异现象。两方面
- #!/usr/bin/env python import os, sys, time while True: time.sleep(3) t
- 由于现在在公司负责制作标准的静态页面,为了增强客户体验,所以经常要做些AJAX效果,也学你也和我一样在,学习AJAX。而设计AJAX时使用的
- 写在前面最近有几个有趣的小想法想实践一下,希望使用低功耗、低成本的硬件跑一些持续性的独立的服务。最初的想法是入手一个树莓派得了,开发板尺寸小
- 在Web上使用菜单可以极大地节约页面的空间,同时也比较的符合用户从Windows上继承下来的UI操作体验。在以往的Web页菜单设计中,我们普
- 前言:vue-router的切换不同于传统的页面的切换。路由之间的切换,其实就是组件之间的切换,不是真正的页面切换。这也会导致一个问题,就是
- 从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数。可是,在协程中, yield 通常出现在表达式的右边(例如, da
- 过往经验总结注:笔者写本文的目的不是完整细致地描述连接的全过程,而是记录当中遇到的现象、问题,及为什么会产生这个问题的分析。所以部分过程会省
- MySQL的数据库管理工具非常多,有哪些优秀的GUI工具可以帮助提高工作效率?不妨看一看这5个MySQL GUI工具。1、Navicat f
- 1,flask中内置的过滤器模板中常用方法:{#过滤器调用方式{{变量|过滤器名称}} #} <!-- safe过滤器,可
- 布尔类型是PHP中 最简单的类型。它的值可以为 TRUE 或 FALSE。如:$foo=false;$foo1=true;echo &quo
- 我们把对象(变量)从内存中变成可存储的过程称之为序列化,比如XML,在Python中叫pi
- 时间久了,注册用户和朋友数据库里的废记录渐渐多了起来,尤其是电子邮件地址,请问有什么好的办法可以快速安全地将它们删除吗?试试下面这个办法,它
- socket解析HTTP请求内容思路1. 解析HTTP请求的头部HTTP请求头部的结束符行为"\r\n",可以按行读取H
- 本文不是参考手册式文章,仅适用于对JS产生一个大致的认知,如需JS的详细语法与应用请移步w3schoolJavaScript是什么?Java
- 本文实例讲述了python获取从命令行输入数字的方法。分享给大家供大家参考。具体如下:#--------------------------
- 1、检查本机python 版本:2、安装Qt5 执行如下指令:pip install PyQt5 -i https://pypi.douba
- 安装 Tesseract OCRTesseract OCR 是一款由 Google 团队开发的开源 OCR(Optical Characte
- 前言你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游?专业点的人使用 PhotoSh
- GetRows 方法 将 Recordset 对象的多个记录复制到数组中。 语法 代码如下: array = recordset.GetR