1.須要先安裝python3依賴的包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc makepython
2.安裝python-3.6.8
2.1 獲取python-3.6.8
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
2.2 解壓&進入目錄
tar -xvJf Python-3.6.8.tar.xz
cd Python-3.6.8
2.3 添加ssl庫,若是不須要ssl庫,能夠選擇跳過,後續須要用到的時候,再回來修改setup文件從新編譯安裝也是能夠的,我是須要用到ssl來發郵件,因此在這裏直接安裝了。
關於ssl庫,這裏有個地方須要注意的,若是系統沒有安裝ssl模塊,或者不清楚是否有安裝的,則要在安裝的時候,須要同時編譯安裝ssl模塊,不然後續若是沒法使用該模塊,好比 在使用smtplib SMTP_SSL發送郵件的時候,會出現 "smtplib" object has no attribute 'SMTP_SSL'的錯誤sql
同時編譯安裝ssl,修改一下Modules/Setup.dist,大概在210行左右
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
#_ssl _ssl.c \
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
# -L$(SSL)/lib -lssl -lcryptocentos
將ssl的下面4個註釋去掉,修改後的結果爲:
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcryptosocket
2.4 編譯&安裝
./configure prefix=/usr/local/python3
make && make installsqlite
3.建立Python3到系統執行目錄 /usr/bin
/usr/bin目錄下有個python的執行文件,ls看一下發現它是指向系統默認安裝的python2
[root@VM_0_15_centos ~]# ls -an /usr/bin/python
lrwxrwxrwx 1 0 0 7 Mar 19 2018 /usr/bin/python -> python2ip
若是想要保留Python2,不要覆蓋它,若是不想保留,直接覆蓋就好,由於yum須要用到python2,本人保留python仍是指向Python2,建立一個新的軟鏈指向python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ssl
到此Python3就安裝完成了,使用python3 -V就能夠查看python3版本了,運行python腳本的時候,使用python3 xxx.py就能夠執行python3的腳本了,而使用Python xxx.py就仍是使用Python2來運行腳本。get