centos6上使用fpm打python2.7 rpm包并兼容python2.6

工作中我們常常會因為各種軟件技術(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真的很給力!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容