之前我在windows 10系統(tǒng)上面安裝python 3.7,雖然在windows 上面安裝簡單,操作也方便,但是想要和linux 的shell 腳本交互就不方便了。
?
因此,我決定在centos 7上面也安裝上python最新版本
在這期間,我踩了很多坑,也填了很多坑,后來幾乎要面臨崩潰了,期間發(fā)生了什么?別著急,耐心往下看!
?
操作環(huán)境:CentOS 7.4 64位
一般安裝步驟
1.下載python安裝包
-
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a3.tar.xz
-
?
2.解壓、配置、編譯安裝
-
tar xvf Python-3.8.0a3.tar.xz ?
-
cd Python-3.8.0a3 ?
-
./configure
第一次踩坑了,報錯如下:
?
?
解決過程:
查看報錯信息,可以看出是系統(tǒng)缺少編譯工具gcc c++之類
-
yum install gcc gcc-c++ make cmake -y ?
-
./configure
處理結(jié)果:解決問題
?
?
接下來編譯安裝
-
make && make install
第二次踩坑:缺少sha512
?
?
解決過程:
上網(wǎng)查詢,應(yīng)該是缺少openssl-devel,安裝openssl-devel,試過改各種配置文件,重新編譯安裝
-
yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel -y ?
-
make clean ?
-
make && make install
-
?
處理結(jié)果:依舊報相同錯誤
再次解決辦法:
隨后心一狠,刪除Python-3.8.0a3解壓包,然后重新解壓,配置,編譯安裝
?
-
cd ~ ?
-
rm -rf Python-3.8.0a3 ?
-
tar xvf Python-3.8.0a3.tar.xz ?
-
cd Python-3.8.0a3 ?
-
./configure ?
-
make && make install
-
?
-
?
處理結(jié)果:解決問題,但又出現(xiàn)了新問題
第三次踩坑:沒有_ctypes模塊
?
解決方法:
查詢報警信息,原來是少了libffi-devel依賴包,安裝libffi-devel
-
yum install libffi-devel -y ?
-
make install
-
?
-
?
?
處理結(jié)果:解決問題
3.驗證python
(1)查看python版本號
?
?
(2)進入python環(huán)境
?
?
友情提示:此時直接使用python命令,默認是運行系統(tǒng)自帶的python2.7,不是新版本Python3.8命令,pip命令是python2.7的,pip3命令才是python3.8的!
?
?
最后跌入巨坑:
本來到這一步,新版本python可以使用了,就是每次使用命令都是python3,pip命令是pip3 install ,我覺得特別麻煩,于是進行了下面步驟操作(前方高能,千萬不要模仿,千萬不要模仿,千萬不要模仿,重要的事情說3遍!?。。?
?
我上網(wǎng)搜索如何卸載Python 2.7, 然后操作步驟如下:
-
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ?
-
whereis python |xargs rm -frv ?
-
whereis python ?
-
python
-
?
?
我以為成功刪除python就結(jié)束了,沒想到當我使用yum 命令安裝軟件時,才發(fā)現(xiàn)出問題了:
?
?
我試著把其他的服務(wù)器上的/usr/bin/python文件拷貝過來使用,但是依舊同樣報錯。(/usr/bin/python是二進制文件,也沒辦法修改)
?
我接著尋找其他辦法,看到一篇訪問量挺高的博客,就嘗試了一下,操作如下:
?
-
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps #卸載yum ?
-
whereis yum |xargs rm -frv
?
下載相關(guān)包
-
wget [http://vault.centos.org/7.4.1708/os/x86\_64/Packages/python-2.6.6-36.el6.x86\_64.rpm](http://vault.centos.org/7.4.1708/os/x86_64/Packages/python-2.6.6-36.el6.x86_64.rpm) ?
...... #省略相關(guān)步驟
使用rpm安裝python和yum依賴包
-
rpm -Uvh --replacepkgs python_.rpm ?
-
rpm -Uvh --replacepkgs rpm-python_.rpm yum\*.rpm
-
?
可是,我下載相關(guān)包失敗后,這時候,我才看到了底下評論,好多人都說這種辦法根本行不通,只能重裝系統(tǒng)了!我當時想死的心都有了。
?
?
?
在多次嘗試失敗后,只好求助阿里云技術(shù)人員(服務(wù)器是阿里云的?。思医o出了建議:初始化磁盤(等同于重裝系統(tǒng))
?
?
最后解決措施:初始化磁盤!
?
?
?
其實,入坑才是最好的成長方式,但一定要學(xué)會總結(jié),才不會重蹈覆轍!
?
踩坑總結(jié):
?
-
在安裝前要下載好所有依賴包,避免編譯安裝時出錯。
-
了解yum 和python的關(guān)系,yum 安裝軟件需要依賴Python環(huán)境。
-
?
-
網(wǎng)上的技術(shù)文檔未必每一篇都實用,尤其是刪除,卸載軟件類要十分慎重,最好有備份!
-
?
-
centos 系統(tǒng)刪除yum及python后,并非無解,只是由于版本不同,相關(guān)軟件包十分不好找,這個坑還是不要去踩!
-
?
避免大家重蹈覆轍,我整理了避坑安裝步驟如下:
?
1.下載python
-
cd /usr/local ?
-
wget [https://www.python.org/ftp/python/3.8.0/Python-3.8.0a3.tar.xz](https://www.python.org/ftp/python/3.8.0/Python-3.8.0a3.tar.xz) ?
-
yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel libffi-devel -y #安裝編譯工具
-
?
?
2.解壓、配置、編譯安裝
-
tar xvf Python-3.8.0a3.tar.xz ?
-
mv Python-3.8.0a3 python-3.8 ?
-
cd /usr/local/python-3.8 ?
-
./configure ?
-
make && make install ?
-
python3 -V
-
?
?
3.刪除,備份python2.7
-
mv /usr/bin/python /usr/bin/python.bak
-
?
?
4.建立軟連接
-
ln -s /usr/local/bin/python3.8 /usr/bin/python #建立python命令軟連接 ?
-
python
-
?
-
?
-
ln -s /usr/local/bin/pip3 /usr/bin/pip #建立pip命令軟連接 ?
-
pip install --upgrade pip #測試pip命令(此處為更新命令)
?
有人會問,python2版本都刪干凈了嗎?怎么檢查現(xiàn)在輸入python命令進入的是2版本還是3版本,pip命令是在2版本中執(zhí)行,還是在3版本中執(zhí)行的,這里我總結(jié)了一些技巧?。▓D片僅供參考,此時python2.7已經(jīng)刪除,正常情況不會出現(xiàn)python2.7相關(guān)圖片?。?
判斷python2.7 與python3.8版本技巧:輸入python 命令后,看版本號!
?
python2.7版本
?
?
python3.8版本
?
?
判斷pip 命令運行的版本號技巧:看有無警告字體!
在python2.7版本中
?
?
在python3.8版本中
?
?
5.修改yum依賴
-
vim /usr/bin/yum ?
-
將/usr/bin/python改為/usr/bin/python2.7
-
?
-
vim /usr/libexec/urlgrabber-ext-down ?
-
將/usr/bin/python改為/usr/bin/python2.7
-
?
?
6.驗證yum功能
-
yum install -y wget
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
