CentOS 7上默認安裝的python版本是2.7.5,系統自帶的舊版本python被系統很多其他軟件環境依賴,因此不能卸載原Python,直接選擇Python3.6.5進行全新安裝。
1 安裝Python3.6可能使用的依賴
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++
2 安裝Python3.6.5
1、下載python3.6.5的Linux安裝包
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
2、使用root權限打開終端,進行解壓縮操作
tar -zxvf Python-3.6.5.tgz
將目錄進行重命名
mv Python-3.6.5 python3.6
3、修改Setup文件,啟動ssl模塊
vi /opt/python3.6/Modules/Setup.dist
#修改結果如下:
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# 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 -lcrypto
4、編譯安裝包,指定安裝目錄,進入python3.6目錄,執行
cd /opt/python3.6
./configure --with-ssl --prefix=/opt/python3.6 # 目錄/opt/python3.6可以根據自己的喜好隨意選擇,此目錄為python的真正安裝目錄
在./configure過程中,如果沒有加上–with-ssl參數時,默認安裝的軟件涉及到ssl的功能不可用,剛好pip3過程需要ssl模塊
5、確認無誤后,進入安裝目錄,執行編譯
[root@localhost python3.6]# make
[root@localhost python3.6]# make install
6、以上步驟執行完成,python3.6基本安裝完成;因為系統自帶的是python2.7.5,直接執行python命令,所進入默認的python2.6.6的環境;
7、新建軟連接,指向新安裝的python3.6.5
ln -s /opt/python3.6/bin/python3.6 /usr/bin/python3
8、/usr/bin/python3 此處路徑不要覆蓋 /usr/bin/python,否則可能會導致系統其它相關依賴命令無法使用
9、所以安裝好Python后直接創建一個軟連接指向python的pip就可以了,注意,一定要指向pip3,其他的還是會報錯
ln -s /opt/python3.6/bin/pip3 /usr/bin/pip
默認Python2是不帶有pip的
10、為了不影響Python2的pip的功能(默認Python2是不帶有pip的),新建軟連接的時候,可以指向pip2
ln -s /opt/python3.6/bin/pip3 /usr/bin/pip3