天天看點

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

一、下載下傳前準備工作

Centos 7作業系統上預設安裝了python 2.7.5版本,但是python 2即将成為曆史,python 3才是未來的主流,

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

在/home目錄下面 是空的 ,沒有任何檔案

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

需要建立一個檔案

mkdir python      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

移動到/home/python目錄下

cd python      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)
pwd  檢視目前路徑      

二。安裝python3.8的版本 ,安裝有2種方式:

第一種:通過win本地和虛拟機互傳工具,把自己在win本地準備的python3.8的壓縮包上傳到虛拟機對應的目錄下

互傳工具:

Xfp

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

WinSCP 也可以互傳的

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

這裡用winscp ,輸入ip和密碼登入就可以

連結成功

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

直接在左邊win裡面把要傳的檔案,直接滑鼠拖動到對應目錄下面

傳輸成功

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

虛拟機檢視

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

虛拟機和win本地上傳檔案還可以通過rz指令進行上傳

yum install lrzsz      

rz:從本地上傳檔案至伺服器

Linux 安裝python 3.8(Linux 的版本為 Centos 7)
Linux 安裝python 3.8(Linux 的版本為 Centos 7)
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

有些安裝可能沒有上面的提示輸入y的指令 我這邊是全新建立的一個虛拟機環境才有

直接輸入

rz      

後面回車找到對應目錄,上傳就行

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

上面的步驟都太麻煩,下面這個是最不麻煩的,最簡單的,直接用wget 下載下傳到檔案夾裡面

下載下傳python 3.8壓縮包

使用如下指令下載下傳python 3.8:

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz      

如果提示-bash: wget: 未找到指令,需要先使用yum安裝wget,指令如下:

Linux 安裝python 3.8(Linux 的版本為 Centos 7)
yum -y install wget      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

然後再使用wget下載下傳python,耐心等候。下載下傳結果如下

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

先删除,再用指令下載下傳

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

下載下傳的速度會有點慢,等就完事了,這個方法比上面簡單,但是虛拟機下載下傳确實慢,建議用上面的第一種方法

三、解壓縮安裝包

通過以下指令解壓縮下載下傳的檔案:

tar zxf Python-3.8.0.tgz      

結果如下:

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

這個時候要進入 解壓的目錄下面

cd Python-3.8.0      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

安裝前要下載下傳一些依賴

因為編譯 Python 源代碼需要依賴于很多工具,是以得先準備一下,依次執行以下指令:

yum update -y
yum groupinstall -y 'Development Tools'
yum install -y gcc openssl-devel bzip2-devel libffi-devel      
yum update -y      

這個指令運作後,把所有更新了一遍

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

這個更新過程也有點久,等吧

yum groupinstall -y 'Development Tools'      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)
yum install -y gcc openssl-devel bzip2-devel libffi-devel      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)
開始安裝python 3.8

現在我們就可以安裝python 3.8了,首先執行以下指令(注意,一定要在Python-3.8.0目錄下執行該指令):

./configure prefix=/usr/local/python3 --enable-optimizations      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

–prefix選項是配置安裝的路徑,如果不配置該選項,安裝後可執行檔案預設放在/usr/local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在/usr/local/etc,其它的資源檔案放在/usr/local/share,比較淩亂。

如果配置–prefix,如:./configure --prefix=/usr/local/python3可以把所有資源檔案放在 /usr/local/python3 的路徑中,不會雜亂.用了–prefix選項的另一個好處是解除安裝軟體或移植軟體。當某個安裝的軟體不再需要時,隻須簡單的删除該安裝目錄,就可以把軟體解除安裝得幹幹淨淨;移植軟體隻需拷貝整個目錄到另外一個相同的作業系統機器即可.當然要解除安裝程式,也可以在原來的make 目錄下用一次make uninstall,但前提是make檔案指定過uninstall.

–enable-optimizations是優化選項(LTO,PGO 等)加上這個 flag 編譯後,性能有 10% 左右的優化,但是這會明顯的增加編譯時間,老久了.

./configure指令執行完畢之後建立一個檔案 Makefile, 供下面的make指令使用,執行make install之後就會把程式安裝到我們指定的檔案夾中去。

make && make install      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

這個是正在編譯中,等待他編譯完成。

編譯完成

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

這個時候,python安裝好了沒有,可以去輸入

指令

python --version  指令驗證是否安裝好      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

從這個上面開,是沒有安裝好的

修改 python 2 連結,把原本Centos 7自帶的python 2.7.5版本指向位址修改一下

我們首先檢視一下 Python 可執行檔案的位置:

which python      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

從這個上面,可以看到python3已經被安裝到這個目錄下面了,和我們想要的目錄相對應

然後切換到相應的目錄:

cd /usr/bin      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

輸入

ll   指令  可以看到這個目錄是虛拟機根目錄,有很多檔案      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

檢視相關的python資訊:

ls -la python*      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

發現當我們執行python 指令時,系統指向python 2,然後python 2指向python 2.7,是以系統預設使用的python版本仍然是python 2。

首先将python 改名為 python.bak

mv python python2.bak      

再次檢視python相關資訊:

Linux 安裝python 3.8(Linux 的版本為 Centos 7)
接下來 進入修改yum配置檔案步驟

進入目錄 ​

​/usr/bin​

​,檢視有關yum的檔案:

ls -la yum*      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

使用vi 進入文本編輯器(如果有多個yum配置檔案,都要進去修改):

vi yum      

點選i進入編輯模式之後将#!/usr/bin/python 改為#!/usr/bin/python2,按ESC退出編輯模式,輸入:wq!儲存修改退出。

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

回車

改成

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

儲存退出

通過

cat yum      

看看改對了沒有,儲存了沒有

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

發現對的

同樣進入檔案 /usr/libexec/urlgrabber-ext-down 做同樣修改。

cd /usr/libexec      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

切換到這個目錄裡面

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

檢視這個目錄有很多檔案

我們用指令

vi  urlgrabber-ext-down      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

檢視指令,沒有問題

Linux 安裝python 3.8(Linux 的版本為 Centos 7)
下面進入 配置python 3軟連結步驟

進入/usr/bin目錄,配置軟連結。在我看來,其實軟連結就像Windows作業系統裡的快捷方式,比如現在桌面上有一個圖示叫python,現在你輕按兩下打開它,發現它打開的是Python 2,是以我們要配置其指向python 3。

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python      

配置後結果:

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

通過指令檢視軟連接配接配置是否成功

ls -la python*      

配置成功

如果出現,這個,說前面我們沒有安裝導緻的儲存

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

這個時候,因為沒有使用

# 安裝
make && make install      

指令安裝,導緻對應的目錄,沒有生成python檔案,這個問題,你重新去安裝就會報錯,隻能重新搞了,

部落客這裡沒有做快照,是以說這台虛拟機是廢了,是以我删了這台虛拟機,重新建立了一台,又要配置網關

如果是雲伺服器就要雲伺服器重置了,清空所有内容,

太悲劇了,忘記做快照了,是以提醒大家,玩虛拟機一定要做快照,虛拟機玩崩了,還可以快照回去,重新搞,不然隻能重新建立虛拟機了。

軟連接配接建立成功如圖

Linux 安裝python 3.8(Linux 的版本為 Centos 7)
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip      

如果提示/usr/bin/pip已經存在,可以使用 ​

​rm​

​删除,然後再進行配置。

配置後結果:

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

提示存在了 ,删除

rm /usr/bin/pip      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

删除後建立

Linux 安裝python 3.8(Linux 的版本為 Centos 7)

當然,也可以配置一個pip3軟連結。

ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

建立軟連接配接成功

驗證是否安裝成功

輸入python --version和pip -V 驗證是否安裝成功

輸入

python --version      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

輸入下面指令

pip -V      
Linux 安裝python 3.8(Linux 的版本為 Centos 7)

輸入

python      

指令 測試能不能進入