由於一個項目的安裝用的是fab python.py的方式,因此此次的任務是在比較老的系統centos6.8上安裝fabric。python
fabric對python的版本要求比較高,至少2.7+。而centos6.8默認是2.6。linux
安裝步驟:c++
1.下載編譯安裝源碼包的pythoncentos
在編譯以前先要作一些準備工做,不然後面可能遇到一些問題,這些坑已經填了,但願你們就不要再掉下去:python2.7
(1)安裝openssl,openssl-devel,gcc-c++spa
(2)編輯Moudule/Setup.dist 中的如下幾行:code
#SSL=/usr/local/ssl #_ssl _ssl.c \ #-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ #-L$(SSL)/lib -lssl -lcrypto
將這幾行的註釋去掉(否則運行python xxx可能遇到 the ssl module in Python is not available 的錯誤)blog
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
將這行的註釋去掉(否則運行python xxx可能遇到 zlib not available的錯誤)ip
(3)常規的幾個編譯安裝動做md5
./configure --prefix=/usr/local/python2.7
make
make install
2.從新連接如下python的執行文件
ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7 --這個爲後面安裝setuptools作準備,否則會報錯exec: python2.7: not found
完成後,驗證版本 python -V ,看是不是預期的2.7而非2.6
3.安裝setuptools
後面安裝pip須要setuptools,因此須要先安裝,否則python setup.py install的時候可能會報錯No module named setuptools。
下載 setuptools-0.6c11-py2.7.egg ,而後執行sh setuptools-0.6c11-py2.7.egg 便可
4.安裝pip
下載 pip,解壓,執行python setup.py install
安裝好以後,從新連接如下pip的執行文件
ln -fs /usr/local/python2.7/bin/pip /usr/bin/pip
5.安裝fabric的相應包
安裝fabric須要一些依賴的python包,如paramiko等。
由於此次任務的環境是內網環境,故採用的辦法是,先在外網找一個6.8的機器,而後用pip downloadonly fabric的方式,將相應的whl文件下載下來再拷貝到內網環境上。
最後執行 pip install Fabric-xxx-py2-none-any.whl便可
安裝好以後,從新連接如下fab的執行文件
ln -fs /usr/local/python2.7/bin/fab /usr/bin/fab
安裝完以後在linux下,執行下fab命令,看是否正常執行便可。
6.一些補充:
因爲yum使用了原來python2.6的一些腳本,因此須要將yum從新指向原來的python2.6解釋器纔可使用
修改/usr/bin/yum 將最上面的路徑修改成: #!/usr/bin/python2.6