1、先去python官網下載python3的源碼包,網址:https://www.python.org/
1)進去之后點擊導航欄的Downloads,出現python最新版本的下載界面,點擊download

2)下載Gzip包

3)下載完成后,先安裝解壓和安裝python需要的依賴包
yum -y install gcc yum -y install zlib zlib-devel yum -y install bzip2 bzip2-devel yum -y install ncurses ncurses-devel yum -y install readline readline-devel yum -y install openssl openssl-devel yum -y install openssl-static yum -y install xz lzma xz-devel yum -y install sqlite sqlite-devel yum -y install gdbm gdbm-devel yum -y install tk tk-devel yum -y install libffi libffi-devel
4)安裝完依賴包之后,將python壓縮包解壓縮到/usr/local/src中
cd /usr/local/src tar -xvzf /root/Public/Python-3.7.1.tgz
2、進入目錄
cd /Python-3.7.1.tgz
1)配置編譯
./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC
注:這里加上--enable-shared和-fPIC之后可以將python3的動態鏈接庫編譯出來,默認情況編譯完lib下面只有python3.xm.a這樣的文件,python本身可以正常使用,但是如果編譯第三方庫需要python接口的比如caffe等,則會報錯;所以這里建議按照上面的方式配置,
如果openssl不使用系統yum安裝的,而是使用自己編譯的比較新的版本可以使用--with-openssl=/usr/local/openssl這種方式指定,后面目錄為openssl實際安裝的目錄,另外編譯完還要將openssl的lib目錄加入ld運行時目錄中即可.
2)接下來編譯源碼:
make
3)執行安裝:
make install
安裝成功之后,安裝目錄就在/usr/python
4)安裝完成之后要簡單做一下配置:即將python庫路徑添加到/etc/ld.so.conf配置中
echo "/usr/python/lib" >> /etc/ld.so.conf vi /etc/ld.so.conf.d/python3.conf /usr/python/lib
5)然后執行ldconfig生效,這樣在接下來運行python3是就不會報找不到庫文件的錯誤了.
ldconfig
系統中原來的python在/usr/bin/python,通過ls -l可以看到,python是一個軟鏈接,鏈接到本目錄下的python2.7
這里不要把這個刪除,不對原來默認的環境做任何修改,只新建一個python3的軟鏈接即可,只是需要執行python3代碼時python要改成python3,或者python腳本頭部解釋器要改為#!/usr/bin/python3
6)建立軟鏈接
ln -s /usr/python/bin/python3 /usr/bin/python3 ln -s /usr/python/bin/pip3 /usr/bin/pip3
這樣就建立好了,以后直接執行python3命令就可以調用python3了,執行pip3可以安裝需要的python3模塊;
3、由於python3交互式界面特別不好用,刪除不能正常使用,必須按Ctrl+刪除鍵才可以,上下鍵重復命令也無法使用,左右調整光標也無法使用,這樣調試代碼效率很低,原因是python3缺少readline這個依賴,默認使用pip3 install readline會提示找不到包,所以只能是手動安裝了
1)因為readline依賴於ncurses庫,如果沒有這個庫,編譯readline的時候會提示can not find -lncurses,如果在centos環境下可以執行下面命令安裝:
cd /run/media/root/RHEL-x.x/Packages/ yum -y install ncurses ncurses-devel
2)安裝readline到/root/Public,網址https://pypi.python.org/pypi/readline,點擊download files,選擇gz包

3)解壓
cd /usr/local/src tar -xvzf /root/Public/readline-6.2.4.1.tar.gz
4)安裝readline
cd readline-6.2.4.1/ python3 setup.py install
這樣執行完畢就為python3安裝了readline,然后再進入交互式界面所有的操作都好用了
