linux centos 7.x 安裝 python3.x 替換 python2.x(親測有效)

馬稱發表於2020-12-13

在這裡插入圖片描述

前言


一般而言,新的 centos 7.x 中自帶的 python 都是 2.x 的版本。對於我們執行 python 軟體支援並不友好,所以需要進行升級操作

下載 python3 的包之前,要先安裝相關的依賴包,用於下載編譯 python3:

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


安裝 pip


預設的 centos7 是沒有安裝 pip,先新增 epel 擴充套件源

yum -y install epel-release


安裝 pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py


一般 centos7 系統都有自帶的 python 2.x 的版本,所以直接使用 python 執行即可

python get-pip.py


pip 測試安裝

pip -V

# pip 版本展示如下
pip 20.3.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)

安裝 wget


安裝 wget 命令如下

pip install wget


用 wget 下載 python3 的原始碼包,或者自己先下載好,上傳到伺服器再安裝,如果網路快可以直接安裝

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


編譯 python 原始碼包


編譯 python3 原始碼包,解壓

xz -d Python-3.6.8.tar.xz
tar -xf Python-3.6.8.tar

進入解壓後的目錄,依次執行下面命令進行手動編譯

cd Python-3.6.8
./configure prefix=/usr/local/python3

如果執行報如下錯誤,是因為由於本機缺少 gcc 編譯環境,如果不報錯,直接執行下一步驟

configure: error: in `/root/Python-3.6.8':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details


# 執行命令
yum install -y gcc

執行成功後,開始手動編譯,時間稍等幾分鐘

make && make install


安裝依賴 zlib、zlib-deve

yum install zlib zlib
yum install zlib zlib-devel

最後沒提示出錯,就代表正確安裝了,在/usr/local/目錄下就會有 python3 目錄


替換 python 軟連結


新增軟連結,將原來的連結備份,如果沒有 python 軟連線可以不執行

mv /usr/bin/python /usr/bin/python.bak


新增 python3 的軟連結

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


測試是否安裝成功了

python -V

# python 版本展示
Python 3.6.8

更新 yum 檔案


而因為 yum 使用的是 python2,所以替換成為 python3 後可能會無法工作,因此還需要修改 yum 的配置檔案

在此之前需要確認下,python 是否有 2.7 的版本

確認後就可以修改了

# 把檔案頭部的   #! /usr/bin/python 改成 #! /usr/bin/python2.7
vi /usr/bin/yum
# 把檔案頭部的   #! /usr/bin/python 改成 #! /usr/bin/python2.7
vi /usr/libexec/urlgrabber-ext-down
# 把檔案頭部的   #! /usr/bin/python 改成 #! /usr/bin/python2.7
# 如果沒有此檔案,就不必修改
vi /usr/bin/yum-config-manager


修改完成後可以下載個平時比較常用的 tree 元件
yum install tree -y


結言


由於作者水平有限, 歡迎大家能夠反饋指正文章中錯誤不正確的地方, 感謝 ?

小夥伴的喜歡就是對我最大的支援, 如果讀了文章有所收穫, 希望能夠 點贊、評論、關注三連!


推薦閱讀:

  1. 【強烈推薦】1w 字,18 張圖,徹底說清 springboot starter
  2. 【強烈推薦】謹慎使用 JDK 8 新特性並行流 ParallelStream
  3. 【強烈推薦】一文快速掌握 Redisson 如何實現分散式鎖原理
  4. 【大廠面試真題】JDK 執行緒池中如何不超最大執行緒數快速消費任務
  5. 【大廠面試真題】JDK 執行緒池如何保證核心執行緒不被銷燬

作者麻花,座標帝都 Java 後端研發,勵志成為架構師的一枚處女座程式設計師,專注高併發、框架底層原始碼、分散式等知識分享

相關文章