記一次阿里雲服務器安裝Python的血淚史

1、前言

以前我在windows 10系統上面安裝python 3.7,雖然在windows 上面安裝簡單,操做也方便,可是想要和linux 的shell 腳本交互就不方便了。所以,我決定在centos 7上面也安裝上python最新版本
在這期間,我踩了不少坑,也填了不少坑,後來幾乎要面臨崩潰了,期間發生了什麼?彆着急,耐心往下看!node

2、操做環境

操做系統:CentOS 7.4 64位python

3、通常安裝步驟

1.下載python安裝包

wget www.python.org/ftp/python/…linux

2.解壓、配置、編譯安裝

tar xvf Python-3.8.0a3.tar.xz
cd Python-3.8.0a3
./configurec++

第一次踩坑了,報錯以下:

記一次阿里雲服務器安裝Python的血淚史

解決過程:

查看報錯信息,能夠看出是系統缺乏編譯工具gcc c++之類shell

yum install gcc gcc-c++ make cmake -y
./configurevim

處理結果:解決問題

記一次阿里雲服務器安裝Python的血淚史

接下來編譯安裝windows

make && make installcentos

第二次踩坑:缺乏sha512

記一次阿里雲服務器安裝Python的血淚史

解決過程:

上網查詢,應該是缺乏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服務器

處理結果:依舊報相同錯誤

再次解決辦法:

隨後心一狠,刪除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

處理結果:解決問題,但又出現了新問題

第三次踩坑:沒有_ctypes模塊

記一次阿里雲服務器安裝Python的血淚史

解決方法:

查詢報警信息,原來是少了libffi-devel依賴包,安裝libffi-devel

yum install libffi-devel -y
make install

記一次阿里雲服務器安裝Python的血淚史

處理結果:解決問題

3.驗證python

(1)查看python版本號

記一次阿里雲服務器安裝Python的血淚史

(2)進入python環境

記一次阿里雲服務器安裝Python的血淚史

友情提示:此時直接使用python命令,默認是運行系統自帶的python2.7,不是新版本Python3.8命令,pip命令是python2.7的,pip3命令纔是python3.8的!

記一次阿里雲服務器安裝Python的血淚史

最後跌入巨坑:

原本到這一步,新版本python可使用了,就是每次使用命令都是python3,pip命令是pip3 install ,我以爲特別麻煩,因而進行了下面步驟操做(前方高能,千萬不要模仿,千萬不要模仿,千萬不要模仿,重要的事情說3遍!!!):

我上網搜索如何卸載Python 2.7, 而後操做步驟以下:

rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
whereis python |xargs rm -frv
whereis python
python

記一次阿里雲服務器安裝Python的血淚史

我覺得成功刪除python就結束了,沒想到當我使用yum 命令安裝軟件時,才發現出問題了:

記一次阿里雲服務器安裝Python的血淚史

我試着把其餘的服務器上的/usr/bin/python文件拷貝過來使用,可是依舊一樣報錯。(/usr/bin/python是二進制文件,也沒辦法修改)

我接着尋找其餘辦法,看到一篇訪問量挺高的博客,就嘗試了一下,操做以下:

rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps #卸載yum
whereis yum |xargs rm -frv
下載相關包
wget vault.centos.org/7.4.1708/os…
...... #省略相關步驟
使用rpm安裝python和yum依賴包
rpm -Uvh --replacepkgs python

.rpm
rpm -Uvh --replacepkgs rpm-python
.rpm yum*.rpm

但是,我下載相關包失敗後,這時候,我纔看到了底下評論,好多人都說這種辦法根本行不通,只能重裝系統了!我當時想死的心都有了。
在屢次嘗試失敗後,只好求助阿里雲技術人員(服務器是阿里雲的!),人家給出了建議:初始化磁盤(等同於重裝系統)

記一次阿里雲服務器安裝Python的血淚史

最後解決措施:初始化磁盤!

其實,入坑纔是最好的成長方式,但必定要學會總結,纔不會重蹈覆轍!

踩坑總結:

1.在安裝前要下載好全部依賴包,避免編譯安裝時出錯。
2.瞭解yum 和python的關係,yum 安裝軟件須要依賴Python環境。
3.網上的技術文檔未必每一篇都實用,尤爲是刪除,卸載軟件類要十分慎重,最好有備份!
4.centos 系統刪除yum及python後,並不是無解,只是因爲版本不一樣,相關軟件包十分很差找,這個坑仍是不要去踩!

避免你們重蹈覆轍,我整理了避坑安裝步驟以下:

1.下載python

cd /usr/local
wget www.python.org/ftp/python/…
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

記一次阿里雲服務器安裝Python的血淚史

ln -s /usr/local/bin/pip3 /usr/bin/pip #創建pip命令軟鏈接
pip install --upgrade pip #測試pip命令(此處爲更新命令)

記一次阿里雲服務器安裝Python的血淚史

有人會問,python2版本都刪乾淨了嗎?怎麼檢查如今輸入python命令進入的是2版本仍是3版本,pip命令是在2版本中執行,仍是在3版本中執行的,這裏我總結了一些技巧!(圖片僅供參考,此時python2.7已經刪除,正常狀況不會出現python2.7相關圖片!

判斷python2.7 與python3.8版本技巧:輸入python 命令後,看版本號!

python2.7版本

記一次阿里雲服務器安裝Python的血淚史

python3.8版本

記一次阿里雲服務器安裝Python的血淚史

判斷pip 命令運行的版本號技巧:看有無警告字體!

在python2.7版本中

記一次阿里雲服務器安裝Python的血淚史

在python3.8版本中

記一次阿里雲服務器安裝Python的血淚史

5.修改yum依賴

vim /usr/bin/yum
將/usr/bin/python改成/usr/bin/python2.7

記一次阿里雲服務器安裝Python的血淚史

vim /usr/libexec/urlgrabber-ext-down
將/usr/bin/python改成/usr/bin/python2.7

記一次阿里雲服務器安裝Python的血淚史

6.驗證yum功能

yum install -y wget

記一次阿里雲服務器安裝Python的血淚史

讀者福利

給你們推薦一個架構技術交流羣:714827309 ,裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析 ,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化這些成爲架構師必備的知識體系。還能領取免費的學習資源,相信對於已經工做 和遇到技術瓶頸的碼友,在這個羣裏會有你須要的內容。 點擊連接加入羣聊【JAVA高級架構技術交流】:jq.qq.com/?_wv=1027&a…


相關文章
相關標籤/搜索