1.報錯介紹
博主今日在使用pycharm虛擬環境創建Django工程時,使用下圖方式創建Django工程時,

出現的錯誤如下所示:




2.關鍵報錯信息
其中關鍵的報錯大概如下所示:
-
WARNING: 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 -
使用python中的pip安裝一些組件,都報錯,與 SSL有關:
-
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '_ssl.c:504: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version'),)': /simple/pip/
-
之后的錯誤表現為無法添加任何包到該虛擬環境中,也無法升級低版本的包。
3.報錯分析
進行到這里,博主百思不得其解,按常理說這樣創建不可能有錯誤,但還是出錯了。
查閱網上各種類似報錯的解決方案,如安裝編譯包openssl ,添加到環境變量等並不好使,仍然沒有解決。
注:在這里博主給出解決該錯誤的一種解決方法,供各位小伙伴兒參考,如果不適用你的報錯情況,可以下方留言,我們一起討論。
博主根據使用虛擬環境創建Django工程失敗的之后的殘留文件分析,懷疑導致該錯誤出現的原因為以下兩點:
1. pip下載包,以及pip的依賴包並未及時更新到最新版本,而使用虛擬環境創建時,又默認使用現有版本的pip包進行自動下載所需的其他包文件,由於pip包不是最新的,所以導致了后面的一系列錯誤。
2. 使用虛擬環境下載時相關包自動從 https://pypi.python.org/simple 這個網址下載,而這個網址可能會出現訪問不成功的情況。猜測換成國內鏡像源可能會解決 基於以上猜測,提出兩種解決方案,如下述所示。
注:可能解決方案2更有用
4.解決方案1
基於上述分析,博主首先采用如下方式進行創建任意一個工程,即使用本地解釋器來創建一個工程,

創建完成之后,進入settings,或在命令行窗口,把其中的pip下載工具包及相關依賴包升級到最新版本,再重新使用虛擬環境來創建Django工程即可成功。
5.解決方案2
(1)在系統目錄C:\Users\用戶\AppData\Roaming新建pip文件夾;
(2)在pip文件夾下新建pip.ini文件,並寫入如下配置:


ini文件可以拿記事本打開並編輯,編輯內容如下所示:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
注:換成國內的一些其他的pip安裝源也可:切換了國內的安裝源,上述錯誤就被排除了。
執行解決方案2,之后,再重新使用虛擬環境創建Django工程沒有出現錯誤。成功頁面如下所示

