1. 程式人生 > >pip命令出現了問題,提示說找不到ssl模塊

pip命令出現了問題,提示說找不到ssl模塊

安裝包 rom 獲取 was 問題解決 get mod 希望 openssl

Could not find a version that satisfies the requirement pygame (from versions: )
No matching distribution found for pygame

找不到滿足遊戲需求的版本(從版本:)找不到匹配的版本

最近在Ubuntu16.04上安裝Python3.6之後,使用pip命令出現了問題,提示說找不到ssl模塊,出現錯誤如下:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

Could not fetch URL https:*******: There was a problem confirming the ssl certificate: 
Can't connect to HTTPS URL because the SSL module is not available. - skipping

??安裝Python3.6的操作如下:

1.wget獲取安裝包:
wget http://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

2.解壓安裝包:
tar -xvzf Python-3.6.2.tgz

3.檢查安裝平臺屬性,系統是否有編譯時所需要額庫,以及庫的版本是否滿足編譯需要
./configure

4.編譯源碼
make

5.成功編譯之後,安裝
sudo make install

??在安裝完之後,我們希望用pip3命令來安裝numpy。首先,用如下命令安裝pip3:

sudo install python3-pip

??安裝完之後,使用pip3安裝numpy:

sudo pip install python-numpy

??但是此時就出錯了,顯示本文開始提到的錯誤,大致意思就是安裝過程需要SSL,但是那個SSL找不到。

??本人查閱網上資料,發現openSSL是系統自帶的,所以一定是安裝了的,本人用以下命令嘗試再次安裝openssl:

sudo apt-get install openssl
sudo apt-get install libssl-dev

??但是安裝結果顯示是對其進行更新(update),這說明系統已經安裝了openssl。但是pip3就是找不到ssl模塊。

??本人進入python3中,然後進行ssl導入操作:

import ssl

??結果出錯,錯誤如下:

no moudle named _ssl

??顯示沒有ssl模塊。本人再進入python中(即系統自帶的python2.7中),進行ssl導入操作:

import ssl

??發現並沒有顯示錯誤,導入正常。這說明openssl已經安裝了,只是python2可以調用,新安裝的python3卻不能調用。

?原因:在./configure過程中,如果沒有加上–with-ssl參數時,默認安裝的軟件涉及到ssl的功能不可用,剛好pip3過程需要ssl模塊,而由於沒有指定,所以該功能不可用。

??解決辦法是重新對python3.6進行編譯安裝,用一下過程來實現編譯安裝:

cd Python-3.6.2
./configure --with-ssl
make
sudo make install

??這樣就允許安裝的python3使用ssl功能模塊,進入python3中,執行import ssl發現未出錯,正常再次調用pip3指令來安裝numpy,發現正常,問題解決!

pip命令出現了問題,提示說找不到ssl模塊