工作中我們常常會因為各種軟件技術(shù)要求在centos6上安裝python2.7 (比如說一些科學(xué)計算方面的應(yīng)用),同時要求系統(tǒng)保留python2.6不動,因為yum是依賴于python2.6的,如果用python2.7覆蓋系統(tǒng)默認(rèn)的python2.6,那yum可能就實效了。
操作步驟
1 下載安裝python2.7源包
? ? 這個下載的是 Python-2.7.8.tar.xz
? ? 解壓 tar xvf Python-2.7.8.tar.xz
2. 編譯安裝
./configure --prefix=/usr/local?
?這個把python安裝到/usr/local/下最后生成的可執(zhí)行文件會到/usr/local/bin/python, /usr/local/bin 在系統(tǒng)環(huán)境變量中是在python2.6環(huán)境變量位置/usr/bin之前,所以在這個位置安裝python2.7系統(tǒng)就會默認(rèn)使用python2.7, 同時yum依賴的python2.6 /usr/bin/python 沒有任何變化.
make &&?sudo make install DESTDIR=/tmp/installdir-python27
這個/tmp/installdir-python27這個目錄是臨時文件夾用來專門給 fpm打包用的.
3. 安裝pip2.7
wget https://bootstrap.pypa.io/get-pip.py
/tmp/installdir-python27/usr/local/bin/python2.7 get-pip.py
#這樣pip2.7就會安裝到臨時文件夾/tmp/installdir-python27/usr/local/bin/下面,不過/tmp/installdir-python27/usr/local/bin/pip2.7中的頭部python引用地址會多了/tmp/installdir-python27,把它改成/usr/lobal/bin/python2.7就ok了。
4. fpm 打包
fpm -s dir -f -t rpm -n python? --epoch 0 -v '2.7.8' --verbose? --description 'python2.7.8 build' --url 'www.easemob.com' --license 'BSD'? -C /tmp/installdir-python27 .
執(zhí)行過后,python-2.7.8-1.x86_64.rpm 就會在當(dāng)前目錄生成。
5. 安裝新的python2.7 rpm包
為了更方便的在各個centos6系統(tǒng)中快速的安裝python2.7, 我們可以把python2.7 rpm放到y(tǒng)um源中(如果已經(jīng)有yum源了,可以直接copy過去,并執(zhí)行createrepo --update /repo/path 來更新yum倉庫)。
當(dāng)然可以直接copy到centos6,直接安裝rpm -ivh?


大功告成,fpm真的很給力!