最近,準備學習下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.xztar 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"
makemake install
稍微設置一下:spa
mv /usr/bin/python /usr/bin/python2.7.5ln -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源碼。編譯安裝:
./configuremakemake 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