CentOS 7.1 升級Python2.7.10及編譯mod_wsgi指南

      最近,準備學習下Django的開發。下載了最新的CentOS7.1(安裝的時候選的開發及生成工做站,而後右邊全勾上了),打算開始配置及開發。固然,環境的配置實際上仍是有點小棘手的。找了一下網上的配置教程,我只想說不少人真的只是轉載,壓根就不會去確認教程的正確與否。花了一些時間,把本身遇到的問題記錄一下,或許後面其餘朋友可以用的上。python

      CentOS7.1默認安裝的是Python2.7.5,若是按照默認安裝的Python版原本,下載mod_wsgi源碼進行編譯,固然是能夠順利搞定的。可是,如今Python都出2.7.10版本了,用着Python2.7.5版本仍是有點小不爽。git

      更新CentOS 7.1的Python到2.7.10,這裏採用源碼編譯安裝。github

      官網下載Python2.7.10的源碼:bootstrap

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

      增長個執行權限:koa

chmod +x Python-2.7.10.tar.xz

      解壓縮:python2.7

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、python二、python2.7在終端都是返回python2.7.5的提示符。因此,在執行configure命令的時候,還要加上"-rpath"選項,這個表明是否將生成的庫安裝在軟件的安裝目錄,默認是在安裝目錄,不然本身指定路徑。學習

      先創建一個目錄,否則後面configure的時候會出錯:ui

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

      進入Python2.7.10的目錄下,編譯安裝:url

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

      稍微設置一下:spa

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

相關文章
相關標籤/搜索