
前言
一般而言,新的 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
結言
由于作者水平有限, 歡迎大家能夠反饋指正文章中錯誤不正確的地方, 感謝 🙏
小伙伴的喜歡就是對我最大的支持, 如果讀了文章有所識訓, 希望能夠 點贊、評論、關注三連!
推薦閱讀:
- 【強烈推薦】1w 字,18 張圖,徹底說清 springboot starter
- 【強烈推薦】謹慎使用 JDK 8 新特性并行流 ParallelStream
- 【強烈推薦】一文快速掌握 Redisson 如何實作分布式鎖原理
- 【大廠面試真題】JDK 執行緒池中如何不超最大執行緒數快速消費任務
- 【大廠面試真題】JDK 執行緒池如何保證核心執行緒不被銷毀
作者麻花,坐標帝都 Java 后端研發,勵志成為架構師的一枚處女座程式員,專注高并發、框架底層原始碼、分布式等知識分享
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/234240.html
標籤:其他
