wooyaa的学习笔记

生命不息,折腾不止

  公司机器给的是CentOS 6.X系统,默认安装的Python是2.6版本,恰巧我的程序引用的部分库需要2.7版本或以上,所以需要升级Python到2.7,刚折腾完在这里做个简单的记录 :)

 

0X01 升级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
yum -y install readline readline-devel
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

执行完以上命令会解压得到Python-2.7.10这个文件夹,修改Setup文件,将我们编译需要的zlib去掉注释

vim ./Modules/Setup.dist

找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz去掉注释并保存,然后执行以下命令进行配置

./configure --enable-shared --enable-loadable-sqlite-extensions --enable-unicode=ucs4 --with-zlib

其中--enable-loadable-sqlite-extensions是sqlite的扩展,如果需要使用的话则带上这个选项。
配置完成后执行编译:

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

 

0X02 安装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安装完毕,现在可以用它懒人安装各种需要的包了 :)

 

0X03 安装scrapy

直接 pip install scrapy 就ok了

 
*本文为wooyaa原创,转载请提及wooyaa以及原文链接,其他均参照[MIT][15]协议。


已有 6 条评论 »

  1. 逍遥 逍遥

    上周遇到同样的情况,摸索半天才搞定,和你的步骤一致,当时看到你这篇文章就好了,就可以省大半天时间。

    1. 能帮到你我很开心啊

  2. blhacks blhacks

    想再前辈博客上投个广告 招收技术人员的。可以聊聊吗?
    qq 3570652470 email wangfacai9999@qq.com

  3. 666~~~

添加新评论 »

在这里输入你的评论...