1. 下載安裝包。
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
<說明>若是報SSL/TSL錯誤,則加上 --no-check-certificate 選項
2. 解壓縮
tar -xzvf Python-3.7.4.tgz
cd Python-3.7.4
3. 配置
* 查看配置選項。
./configure --help
* 經常使用配置選項配置
--prefix=/usr/local/python3 #pyhton的安裝路徑
--with-openssl=/usr/local/openssl #OpenSSL庫的安裝路徑
* 若是您想要一個包含全部穩定優化活動的版本構建,能夠添加下面的選項(不過通常不須要,這個配置檢查過程會很耗時的)
--enable-optimizations
* 查看系統是否安裝了OpenSSL
rpm -qa|grep -i openssl
* 查看OpenSSL版本
openssl version -a #會顯示出OpenSSL的安裝路徑
* 個人安裝配置選項
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-ssl-default-suites=pythonhtml
4. 編譯和安裝。
make && make installpython
* 創建python命令的軟連接
ln -s /usr/local/python3/bin/python3.7 /usr/local/bin/python
* 修改/etc/profile,添加以下內容:
export PATH=$PATH:/usr/local/python3/bin
保存後,執行: source /etc/profile
* 執行命令查看安裝版本
# python --version
Python 3.7.4
* 直接運行Python命令,檢測是否安裝成功
# python
Python 3.7.4 (default, Sep 10 2019, 01:13:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
# 當輸出上面的信息表示Python-3.7.4安裝成功了。linux
Python-3.7.4版本是自帶有pip工具的,安裝成功後,在安裝路徑/usr/local/python3/bin下有pip3和pip3.7兩個可執行文件。
* 創建pip3命令的軟連接
ln -s /usr/local/python3/bin/pip3.7 /usr/local/bin/pip3centos
* 查看pip的版本信息:pip3 -V/--versionbash
* 查看幫助信息:pip3 -h/--help 或者 pip3 help工具
1. ModuleNotFoundError: No module named '_ctypes'
這個須要安裝依賴庫libffi-devel,執行命令以下:
yum install libffi-devel -y # -y表示對全部的提問都回答yes優化
2. pip工具安裝Python三方庫時報pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.ui
這個須要安裝OpenSSL依賴庫,安裝Python-3.7.4以前先安裝OpenSSL,最好是安裝openssl-1.1.x版本的。安裝Python成功後,執行以下命令:centos7
# python
Python 3.7.4 (default, Sep 10 2019, 23:12:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sslspa
若是不報錯,這說明ssl設置成功了。能夠使用pip install <package>來安裝Python第三方庫了。
題外話:我在網上看到,要結果ModuleNotFoundError: No module named '_ssl'的錯誤,須要修改Python-3.7.4/Modules目錄下的Setup.dist和Setup文件的以下內容:
#找到SSL相關配置 #SSL=/usr/local/ssl #_ssl _ssl.c \ # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ # -L$(SSL)/lib -lssl -lcrypto #取消掉上面4行註釋,即 SSL=/usr/local _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib64 -lssl -lcrypto #SSL= 後面跟的是OpenSSL的安裝路徑,好比說個人安裝路徑是/usr/local/openssl,那就修改成 SSL=/usr/local/openssl,能夠經過openssl version -a命令查看安裝路徑。
可是,我以爲這個比較麻煩,個人安裝過程是沒有修改Modules目錄下的Setup.dist和Setup的這兩個文件的,可是import ssl仍然是成功的,沒有報錯。
ImportError: No module named _ssl解決方法 https://blog.csdn.net/xiemanR/article/details/85224509
centos7.3編譯安裝OpenSSL1.1.1b https://cloud.tencent.com/developer/article/1406810
centos6.8安裝python3.7.3報錯Can't connect to HTTPS URL because the SSL module is not available問題解決 http://www.mamicode.com/info-detail-2713977.html
CentOS7.6編譯安裝openssl-1.1.1c https://www.cnblogs.com/yunfan1024/p/11504039.html