Centos下升級(jí)python版本及避坑指南

1. 首先要檢查云服務(wù)器里都有啥

# python -V \\查看一下python版本笑诅,一般都是2.7.X的版本
# pip -V \\查看一下pip版本古掏,一般出現(xiàn)"-bash: pip: command not found"就是沒(méi)安裝pip
# yum \\查看一下yum能不能工作届腐,一般出現(xiàn)"Loaded plugins: fastestmirror, langpacks..."就是正常

2.修改python軟鏈接指向

一般情況下python默認(rèn)指向python2.7那個(gè)版本,所以提前修改軟鏈接指向,然后再修改yum的配置文件恶耽,經(jīng)個(gè)人實(shí)測(cè)栓票,這樣的順序决左,yum失靈的概率比較小。

# mv /usr/bin/python /usr/bin/python_old

這行代碼的意思是:
1.把python軟鏈接更名為python_old
2.這時(shí)候輸入python會(huì)沒(méi)有指向走贪,而輸入python_old會(huì)指向python2.7
3.因?yàn)檐涙溄痈牧朔鹈停@時(shí)候yum會(huì)失靈

3.修改yum配置——他好起來(lái)了!

修改/usr/bin/yum和/usr/libexec/urlgrabber-ext-down坠狡,將 #!/usr/bin/python 改為 #!/usr/bin/python2.7继找,保存退出即可。

# vim /usr/bin/yum
# vim /usr/libexec/urlgrabber-ext-down

vim編輯器操作備忘
1逃沿、按下鍵盤(pán)上的“i”按鍵開(kāi)始編輯
2婴渡、編輯結(jié)束后,依次按下“Esc”——輸入“:”——輸入“wq”感挥,就保存并退出了

此時(shí)yum應(yīng)該是可以正常使用了缩搅,至此,準(zhǔn)備工作算是做完了触幼。


4. 安裝Python3依賴環(huán)境

Python3在安裝的過(guò)程中可能會(huì)用到各種依賴庫(kù)硼瓣,所以在正式安裝Python3之前,需要將這些依賴庫(kù)先行安裝好。

# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y

5. 下載Python3源代碼

通過(guò)wget直接下載堂鲤,如以下命令:

# wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz

下載慢可以先去設(shè)置一下加速下載http://www.reibang.com/p/0b8d8afa8889

6. 創(chuàng)建安裝目錄

安裝目錄可依個(gè)人喜好創(chuàng)建亿傅,比如在此創(chuàng)建在 /usr/local/python3 :

mkdir -p /usr/local/python3

7. 解壓源碼包

將第5步下載到的源碼包進(jìn)行解壓,根據(jù)壓縮包格式不同命令為:

# tar -xvf Python-3.8.0.tar.xz \\如果下載的是tar.xz格式的壓縮包瘟栖,用這個(gè)命令解壓
# tar -zxvf Python-3.8.0.tgz \\如果下載的是tgz格式的壓縮包葵擎,用這個(gè)命令解壓

8. 編譯源碼

先進(jìn)入解壓后源碼包的目錄,再進(jìn)行配置:

# cd Python-3.8.0 \\進(jìn)入python3.8的目錄下
# ./configure --prefix=/usr/local/python3 \\配置目錄,最前面的點(diǎn)別丟了
# make && make install \\再編譯半哟,然后再安裝

9. 建立Python3的軟鏈接

# ln -s /usr/local/python3/bin/python3 /usr/bin/python \\讓python默認(rèn)指向python3版本酬滤,中間的空格不是手誤,不要遺忘掉

10. 將/usr/local/python3/bin加入PATH

編輯bash_profile進(jìn)行修改環(huán)境變量:

# vim ~/.bash_profile

在PATH變量下將Python3的啟動(dòng)目錄添加進(jìn)去(忘了vim操作的寓涨,返回第3步查看):

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/python3/bin 
export PATH

11. 檢查Python是否正扯⒋可用

執(zhí)行如下命令(注意:V是大寫(xiě)的V),如果看到的結(jié)果一致的話戒良,說(shuō)明Python已經(jīng)成功安裝体捏。

# python -V \\返回Python3.8.0證明python可以正常使用了


12. 配置pip軟鏈接

ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
# find / -name pip \\找不到pip文件夾在哪的時(shí)候,可以借助這個(gè)命令
# python -m pip install --upgrade pip \\升級(jí)pip的時(shí)候用這個(gè)命令

13. 檢查pip是否可用

# pip -V \\ 返回pip 19.3.1 from ....(省略若干個(gè)字符)就代表pip也可以正常使用了


15. 在centos上安裝git

因?yàn)槲倚枰惭bgit糯崎,需要借助yum几缭,這也是為什么我一直擔(dān)心yum不好使

# yum install git -y


至此Centos7,云服務(wù)器上
python3.7沃呢、pip年栓、yum、git 就都有了樟插,并且可用


其他避坑指南

以下內(nèi)容暫時(shí)沒(méi)遇到韵洋,所以沒(méi)實(shí)測(cè),放在這里備用

其實(shí)黄锤,對(duì)于Python3的安裝搪缨,網(wǎng)絡(luò)上有太多的帖子了,步驟其實(shí)都大同小異鸵熟。但是副编,在真正動(dòng)手安裝之后,或多或少都會(huì)遇到一些麻煩流强,特別是對(duì)新手而言痹届。下面良許就列舉一些常見(jiàn)的坑:

坑1:configure: error: no acceptable C compiler found in $PATH

這個(gè)問(wèn)題就比較簡(jiǎn)單,就是缺少gcc編譯環(huán)境打月。將gcc安裝上即可:

yum install -y gcc

當(dāng)然除此之外队腐,采用源碼安裝的方式也可以。

坑2:zipimport.ZipImportError: can't decompress data

這種問(wèn)題就是因?yàn)槿鄙賨lib 的相關(guān)工具包導(dǎo)致的奏篙,將相關(guān)依賴包裝上即可:

yum -y install zlib*

安裝之后再重新編譯源碼柴淘,即可解決迫淹。

坑3:pip3: Can't connect to HTTPS URL because the SSL module is not available

這個(gè)問(wèn)題是因?yàn)樵?/configure過(guò)程中,如果沒(méi)有加上–with-ssl參數(shù)時(shí)为严,默認(rèn)安裝的軟件涉及到ssl的功能不可用敛熬,剛好pip3過(guò)程需要ssl模塊,而由于沒(méi)有指定第股,所以該功能不可用应民。解決辦法如下:

cd Python-3.6.2
./configure --with-ssl
make
sudo make install

坑4:Multilib version problems

這個(gè)很明顯了,就是同一個(gè)庫(kù)有多個(gè)版本夕吻。把多余的版本刪除了就好诲锹。

首先查詢已有的版本(以openssl為例,沖突哪個(gè)查哪個(gè))

# rpm -qa | grep openssl
openssl-devel-1.0.0-27.el6_4.2.x86_64
openssl-1.0.0-27.el6_4.2.x86_64
openssl-1.0.0-27.el6_4.2.i686

可以看到系統(tǒng)里安裝了openssl-1.0.0-27.el6_4.2.x86_64和openssl-1.0.0-27.el6_4.2.i686兩個(gè)版本的openssl梭冠,我們留下x86的版本即可:

rpm --erase --nodeps openssl-1.0.0-27.el6_4.2.i686

再更新一下openssl:

# yum update "openssl*"

再查詢一下openssl辕狰,問(wèn)題解決!

# rpm -qa | grep openssl
openssl-devel-1.0.1e-16.el6_5.7.x86_64
openssl-1.0.1e-16.el6_5.7.x86_64

本文參考鏈接:https://juejin.im/post/5cd15cf4e51d45475d5e8dc4

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末控漠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子悬钳,更是在濱河造成了極大的恐慌盐捷,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件默勾,死亡現(xiàn)場(chǎng)離奇詭異碉渡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)母剥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)滞诺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人环疼,你說(shuō)我怎么就攤上這事习霹。” “怎么了炫隶?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵淋叶,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我伪阶,道長(zhǎng)煞檩,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任栅贴,我火速辦了婚禮斟湃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘檐薯。我一直安慰自己凝赛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著哄酝,像睡著了一般友存。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陶衅,一...
    開(kāi)封第一講書(shū)人閱讀 51,604評(píng)論 1 305
  • 那天屡立,我揣著相機(jī)與錄音,去河邊找鬼搀军。 笑死膨俐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的罩句。 我是一名探鬼主播焚刺,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼门烂!你這毒婦竟也來(lái)了乳愉?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤屯远,失蹤者是張志新(化名)和其女友劉穎蔓姚,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體慨丐,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坡脐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了房揭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片备闲。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捅暴,靈堂內(nèi)的尸體忽然破棺而出恬砂,到底是詐尸還是另有隱情,我是刑警寧澤伶唯,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布觉既,位于F島的核電站,受9級(jí)特大地震影響乳幸,放射性物質(zhì)發(fā)生泄漏瞪讼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一粹断、第九天 我趴在偏房一處隱蔽的房頂上張望符欠。 院中可真熱鬧,春花似錦瓶埋、人聲如沸希柿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)曾撤。三九已至端姚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挤悉,已是汗流浹背渐裸。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留装悲,地道東北人昏鹃。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像诀诊,于是被迫代替她去往敵國(guó)和親洞渤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355