编译Python2.7.10
?為了測試 mesos,搞了一個 centos7.1,使用最小化安裝,然后自己安裝了 net-tools,“開發(fā)工具”集。后來想裝一下 DCOS Cli工具,結(jié)果發(fā)現(xiàn) python 的 pip 不可用。
????搜了一下,發(fā)現(xiàn) Centos7自動的 python 版本為2.7.5,不帶 openssl 加密,而要下載的東西都是 https 的,找了好久,希望能讓 pip 忽略 https 的驗證無果。查到一個信息,說是2.7.9以上版本自帶了 openssl 插件。好吧,試試這個吧!
1、安裝一堆需要的軟件包,之所以搞了兩天,完全是被這些坑的,一步一個坑啊!
? ?yum -y install openssl openssl-devel?ncurses-devel.x86_64 ?bzip2-devel?sqlite-devel?python-devel?zlib
2、下載 python2.7.10源碼包,解壓到一個臨時目錄中,我就放在/tmp 下了
????wget?https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
????tar zxvf Python-2.7.10.tgz
3、編譯
????編譯前,注意一下,configure時候要使用"--enable-shared",表示生成動態(tài)鏈接庫。(不然后面編譯mod_wsgi會出錯)僅使用這一項也不夠,開始僅使用--enable-shared選項,發(fā)現(xiàn)編譯完成后,進(jìn)入Python2.7.10目錄,執(zhí)行python、python2、python2.7在終端都是返回python2.7.5的提示符。所以,在執(zhí)行configure命令的時候,還要加上"-rpath"選項,這個代表是否將生成的庫安裝在軟件的安裝目錄,默認(rèn)是在安裝目錄,否則自己指定路徑。
??????先建立一個目錄,不然后面configure的時候會出錯:
????mkdir -p /usr/local/python/2.7.10/lib
????./configure --enable-shared --prefix=/usr/local/python/2.7.10 LDFLAGS="-Wl,-rpath /usr/local/python/2.7.10/lib"
????make && make install && make clean
4、切換新版本
????此處一定要把原來的 python2.7.5保留,我開始是直接覆蓋了老版本,結(jié)果發(fā)現(xiàn) yum 不能用了,費了無數(shù)勁,也沒搞定,只好重裝了系統(tǒng),反正是測試的虛擬機(jī)(不過第二天找到修復(fù)的辦法了)
????mv /usr/bin/python /usr/bin/python2.7.5
????ln -fs /usr/local/python/2.7.10/bin/python2.7 /usr/bin/python
5、解決 yum 的問題
????因為yum需要使用Python2.7.5的版本,現(xiàn)在 yum 應(yīng)該不能干活了,還有設(shè)置一下yum相關(guān)的文件,這樣執(zhí)行yum相關(guān)的命令時才不會出錯。vi /usr/bin/yum,修改第一句,替換成保留的2.7.5的版本:
!/usr/bin/python2.7.5
????看了很多人說改完上面的就萬事大吉了,我修改了上面的之后,yum還是出問題,然后又根據(jù)出問題的部分修改了"/usr/libexec/urlgrabber-ext-down"下的第一句:
!/usr/bin/python2.7.5
????果然熟悉的 yum 界面出來了!
5、安裝 setuptools、pip
????老版本的這些,都不能生效了,得重新裝過,我在這遇到很多坑,菊花殘,滿身傷啊!
????下載ez_setup.py文件,安裝setuptools:
? ? ?wget?https://bootstrap.pypa.io/ez_setup.py?
????運行以下命令安裝,因為之前沒裝 zlib-devel 模塊,下面的命令執(zhí)行不成功,沒辦法,yum install zlib-devel ,然后理新編譯 python。
????python ez_setup.py?
????下載pip源碼,進(jìn)入源碼目錄進(jìn)行安裝,這一步也因為第一步驟的相關(guān)組件沒裝,坑了半天
????wget?https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196
????tar zxvf?Python-2.7.10.tgz
? ? cd?Python-2.7.10
????python setup.py install??
????增加一個軟鏈接,這一步好象不是很必要:
????ln -fs /usr/local/python/2.7.10/bin/pip /usr/bin/pip
????本以為這樣就萬事大吉了,結(jié)果運行 pip,直接報錯,又是因為依賴的組件沒裝。
? ? 最后再說一下,最好把新的 python 的路徑加到 PATH 環(huán)境變量中,否則還會有其他組件運行不正常。
轉(zhuǎn)載于:https://www.cnblogs.com/johngu/p/8042822.html
總結(jié)
以上是生活随笔為你收集整理的编译Python2.7.10的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: echarts自定义提示框数据
- 下一篇: Spark机器学习MLlib系列1(fo