您好,登錄后才能下訂單哦!
小編給大家分享一下安裝python3.7.4報錯怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
簡述
從官網下載了Python3.7.4,直接編譯安裝后,使用pip3出現了報錯信息: Can't connect to HTTPS URL because the SSL module is not available
錯誤原因
在Python3.7之后的版本,依賴的openssl,必須要是1.1或者1.0.2之后的版本,或者安裝了2.6.4之后的libressl。
image.png
而本地的openssl依然是1.0.1e的。
[root@localhost ~]# openssl version OpenSSL 1.0.1e-fips 11 Feb 2013
解決方法
上openssl官網下載1.0.2或者1.1之后的openssl包,編譯安裝。我選擇的是1.0.2r。
[root@localhost ~]# wget http://www.openssl.org/source/openssl-1.0.2r.tar.gz [root@localhost ~]# tar zxvf openssl-1.0.2r.tar.gz [root@localhost ~]# ./config --prefix=/opt/openssl1.0.2r --openssldir=/opt/openssl1.0.2r/openssl no-zlib [root@localhost ~]# make && make install [root@localhost ~]# echo "/opt/openssl1.0.2r/lib" >> /etc/ld.so.conf [root@localhost ~]# ldconfig -v
注意:編譯openssl1.0.2r的時候建議加上no-zlib,否則后面可能會出現undefined symbol: SSL_CTX_get0_param錯誤
安裝python3.7
下載Python包,編譯
[root@localhost ~]# wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz [root@localhost ~]# tar xvf Python-3.7.4.tar.xz [root@localhost ~]# cd Python-3.7.4;./configure --prefix=/data/tools/Python3.7.4
編譯完成后不要make,先修改Python源碼包中ssl的參數
打開源碼解壓目錄中的 Modules/Setup ,直接搜索 SSL= ,將SSL=后面的目錄改為前面openssl的安裝目錄,并把下面三行的注釋去掉。
[root@localhost ~]# vim Modules/Setup SSL=/opt/openssl1.0.2r _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
改完之后就在解壓目錄直接make就行了。
[root@localhost ~]# make && make install [root@localhost ~]# echo "export PATH=/data/tools/Python3.7.4/bin:$PATH" >> ~/.bashrc [root@localhost ~]# source ~/.bashrc [root@localhost ~]# pip3 list Package Version ---------- ------- pip 19.0.3 setuptools 40.8.0 You are using pip version 19.0.3, however version 19.2.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
看完了這篇文章,相信你對“安裝python3.7.4報錯怎么辦”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。