天天看點

openssl更新_Python更新後ssl子產品不可用問題解決和淺析

在Cent0S 7.5下将Python 2.7.5更新到Python 3.6.6後,發現ssl子產品不可用,具體詳細資訊如下所示:

檢查發現openssl包已經安裝了,然後按照網上的文章,修改Modules/Setup.dist中,找到SSL配置部分,如下截圖所示

openssl更新_Python更新後ssl子產品不可用問題解決和淺析

這裡需要取消注釋部分(上圖紅框附近部分的設定),設定SSL路徑,但是這個SSL的安裝路徑在哪裡呢?我查找了一下,發現openssl的安裝路徑如下:

嘗試了幾個路徑,例如SSL=/usr/lib64/openssl ,然後重新編譯安裝Python,發現依然報錯,

在Python的解壓安裝包裡面,我查了一下setup.py , 發現搜尋ssl關鍵字,發現有如下一些代碼, 但是我搜尋了一下相關檔案和目錄,居然找不到這些目錄(ssl/include和/ssl/lib)和ssl.h這些檔案。

openssl更新_Python更新後ssl子產品不可用問題解決和淺析

後面才搞清楚,openssl包隻包含了可執行部分,openssl-devel才包含了頭檔案、頭檔案參考、某些庫檔案等以及跟開發相關的東西。是以隻安裝了openssl包是找不到相應的頭檔案的,安裝完openssl-devel之後,

使用rpm -ql  openssl-devel 定位安裝安裝路徑為“/usr/include/openssl”,修改安裝路徑的Modules/Setup.dist檔案,修改後的部分如下所示(對比上面截圖),然後重新編譯安裝Python後問題解決。

openssl更新_Python更新後ssl子產品不可用問題解決和淺析

繼續閱讀