在Cent0S 7.5下将Python 2.7.5更新到Python 3.6.6後,發現ssl子產品不可用,具體詳細資訊如下所示:
檢查發現openssl包已經安裝了,然後按照網上的文章,修改Modules/Setup.dist中,找到SSL配置部分,如下截圖所示
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SO0QDNycjM3MDM0U2MhZTYmZmMzQWM5QGNjVzNyUGN28CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
這裡需要取消注釋部分(上圖紅框附近部分的設定),設定SSL路徑,但是這個SSL的安裝路徑在哪裡呢?我查找了一下,發現openssl的安裝路徑如下:
嘗試了幾個路徑,例如SSL=/usr/lib64/openssl ,然後重新編譯安裝Python,發現依然報錯,
在Python的解壓安裝包裡面,我查了一下setup.py , 發現搜尋ssl關鍵字,發現有如下一些代碼, 但是我搜尋了一下相關檔案和目錄,居然找不到這些目錄(ssl/include和/ssl/lib)和ssl.h這些檔案。
後面才搞清楚,openssl包隻包含了可執行部分,openssl-devel才包含了頭檔案、頭檔案參考、某些庫檔案等以及跟開發相關的東西。是以隻安裝了openssl包是找不到相應的頭檔案的,安裝完openssl-devel之後,
使用rpm -ql openssl-devel 定位安裝安裝路徑為“/usr/include/openssl”,修改安裝路徑的Modules/Setup.dist檔案,修改後的部分如下所示(對比上面截圖),然後重新編譯安裝Python後問題解決。