CentOS 7.1 升级Python2.7.10及编译mod_wsgi指南

      最近,准备学习下Django的开发。下载了最新的CentOS7.1(安装的时候选的开发及生成工作站,然后右边全勾上了),打算开始配置及开发。当然,环境的配置实际上还是有点小棘手的。找了一下网上的配置教程,我只想说很多人真的只是转载,压根就不会去确认教程的正确与否。花了一些时间,把自己遇到的问题记录一下,或许后面其他朋友能够用的上。

      CentOS7.1默认安装的是Python2.7.5,如果按照默认安装的Python版本来,下载mod_wsgi源码进行编译,当然是可以顺利搞定的。但是,现在Python都出2.7.10版本了,用着Python2.7.5版本还是有点小不爽。

      更新CentOS 7.1的Python到2.7.10,这里采用源码编译安装。

      官网下载Python2.7.10的源码:

wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz

      增加个执行权限:

chmod +x Python-2.7.10.tar.xz

      解压缩:

xz -d Python-2.7.10.tar.xz
tar xvf Python-2.7.10.tar

      编译前,注意一下,configure时候要使用"--enable-shared",表示生成动态链接库。(不然后面编译mod_wsgi会出错)仅使用这一项也不够,开始仅使用--enable-shared选项,发现编译完成后,进入Python2.7.10目录,执行python、python2、python2.7在终端都是返回python2.7.5的提示符。所以,在执行configure命令的时候,还要加上"-rpath"选项,这个代表是否将生成的库安装在软件的安装目录,默认是在安装目录,否则自己指定路径。

      先建立一个目录,不然后面configure的时候会出错:

mkdir -p /usr/local/python/2.7.10/lib

      进入Python2.7.10的目录下,编译安装:

./configure --enable-shared --prefix=/usr/local/python/2.7.10  LDFLAGS="-Wl,-rpath /usr/local/python/2.7.10/lib"
make
make install

      稍微设置一下:

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

      因为yum使用的系统Python版本,还有设置一下yum相关的文件,这样执行yum相关的命令时才不会出错。修改第一句:

#!/usr/bin/python2.7.5

      我遇到修改了上面的之后,yum还是出问题,然后又根据出问题的部分修改了"/usr/libexec/urlgrabber-ext-down"下的第一句:

#! /usr/bin/python2.7.5

      好了,Python2.7.10版本就安装好了。注意,新安装的版本是没有pip的,所以继续安装pip吧。

      下载ez_setup.py文件,安装setuptools:

wget https://bootstrap.pypa.io/ez_setup.py

      下载pip源码,进入源码目录进行安装:

python setup.py install

      增加一个软链接:

ln -s /usr/local/python/2.7.10/bin/pip /usr/bin/pip

      开始mod_wsgi的编译安装,下载最新版本的mod_wsgi源码。编译安装:

./configure
make
make install

      最后,执行以下提示的命令:

chmod 755 /usr/lib64/httpd/modules/mod_wsgi.so

      OK,mod_wsgi编译安装完毕。后续就是配置了。

      参考链接:http://koansys.com/tech/building-python-with-enable-shared-in-non-standard-location

posted @ 2015-09-20 10:16  ShadonSniper  阅读(597)  评论(0编辑  收藏  举报