升級centos7自帶的Python2.7到Python3.8

zsk_john發表於2020-11-13

                                            升級centos7自帶的Python2.7到Python3.8

Python是和centos以及Redhat系列高度整合的一個程式設計環境,但fedora(通常centos和redhat都屬fedora系列,不是包含關係哦,這是題外話,不扯了。)centos7和Redhat7自帶的版本為低版本的Python2.7(centos5.6好像是Python2.6??忘了),Python的2 3版本之爭一直比較激烈,因此Python3版本推出了模組包2to3這樣的模組,輔助Python2的使用者過渡到Python3,

以上統統為扯淡,現在的目標是將系統自帶的原有的Python2.7升級到Python3.8.2版本,Python的一個重要功能是Python是yum 這個包管理程式的一個首要依賴,因此,需要在升級後講yum的依賴更改為Python3.8.2。那麼,具體的實施步驟如下:

一,準備Python3.8.2的安裝包,

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

耐心等待下載完或者提前下載好該檔案上傳到伺服器內。

二,解壓安裝包,並移動到符合安裝規範的目錄內

tar xf  Python-3.8.2.tar.xz  && mv Python-3.8.2.tar.xz  /usr/local/src/python

三,安裝編譯所需的依賴包

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

所需依賴需要解釋一下,基本OpenSSL,gcc ,zlib-devel 這幾個是編譯常用的依賴,尤其是gcc,只要編譯基本都必須有的哦,openssl是加密演算法的提供模組,通常也是必yum安裝的。

四,進入解壓後的Python目錄,執行編譯命令。也就是進入 /usr/local/src/python 這個目錄,切記!!!!!!!~~~~~~~

cd /usr/local/src/python/

通常編譯的速度和cpu記憶體有關係的,越高越快,4c4核大概7  8分鐘完畢。安裝完畢後,可以發現,pip的版本比較低需要升級。

這個問題後續解決。先解決軟連線的問題。

五,備份Python2.7的可執行檔案,連結Python3.8的可執行檔案,替換原來的Python2.7可執行檔案位置。

mv /usr/bin/python /usr/bin/python_2.7
    vim /usr/libexec/urlgrabber-ext-down#將檔案內的  /usr/bin/python2 改為  /usr/bin/python2
    vim /usr/bin/yum#將檔案內的  /usr/bin/python2 改為  /usr/bin/python2
    ln -sf /usr/local/Python/bin/* /usr/bin/
    ln -sf ./python3.8 /usr/bin/python

六,升級pip的版本為20版本,並將pip源更改為阿里雲的源,以提高pip的安裝速度。

#!/bin/bash
user=`whoami`
echo "$user"
direct=~/.pip
if [ ! -d "$direct" ];then
mkdir -p "$direct"
else
echo "this directory is exits"
fi
cat >~/.pip/pip.conf <<EOF
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
EOF
yum install python-pip -y
pip install --upgrade pip

[root@centos7 ~]# pip install numpy 
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting numpy
  Downloading http://mirrors.aliyun.com/pypi/packages/e5/7d/fe25dcdfc46d14e037cbb87e480ac067da36f56a8e65928bf1040ff35793/numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
     |████████████████████████████████| 14.5 MB 2.1 MB/s 
Installing collected packages: numpy
Successfully installed numpy-1.19.4
[root@centos7 ~]# vim test.py
[root@centos7 ~]# python test.py 
\[root@centos7 ~]# python test.py

[root@centos7 ~]# python -V
Python 3.8.2

 

此時編寫任意一個Python檔案匯入numpy模組,然後執行該檔案,可以看到無報錯,Python2.7升級到Python3.8.2完美成功!!!!!!!!!~

 

 

 

 

 

相關文章