Python3中無法導入ssl模塊的解決辦法


這個問題,已經困擾我好幾天了,本萌新剛開始接觸python,想爬取幾個網頁試試,發現urllib無法識別https,百度后才知道要導入ssl模塊,可是發現又報錯了。

本人實在無法理解為什么會報錯,因為ssl模塊確實在lib/python3.6這個目錄下,求助度娘后,才知道python中要使用ssl需要有openssl作為前置,於是安裝openssl,但是發現openssl已經安裝了,進入到系統自帶那個python2.7中,發現導入ssl沒有報錯。

到這個時候已經能大致確定原因了,就是python3在安裝的過程中無法使用openssl,根據網上的一些博客的做法,要進入到python源碼包解壓后的那個目錄下的Modules/Setup,注意Setup這個文件,只有在python完成安裝后才會生成這個文件。

用vim編輯,找到上圖部分,把上圖橫線部分部分的#給去掉。

然后再編譯 make。

安裝  make install。

但是這個時候又特么悲劇的報錯了,說是找不到openssl/rsa這個文件,百度之后,說是缺少openssl的開發包,因為你嘗試編譯的程序使用openssl,但是缺少和openssl鏈接的庫與頭文件,需要安裝openssl的開發包。

因為我使用的是linuxmint,是基於ubantu的發行版,需要安裝openssl-dev。

安裝:apt-get install openssl-dev

再來編譯 make

安裝  make install

這兩步是對已近安裝的python再進行覆蓋安裝。

到此為止問題就解決了。

 

總結一下:

當你發現無法導入ssl的時候,首先檢查一下,是否安裝了openssl,再來檢查一下是否安裝openssl的開發包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM