pip命令出現了問題,提示說找不到ssl模塊
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
),這說明系統已經安裝了openss
l。但是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模塊