記一次Python3.8.1安裝


  單純的安裝一個軟件的確沒什么可說的,但對於我來說,本次安裝又確實值得記錄,因為它花費了我將近8個小時的時間。從下午2點,到晚上10點。那么我到底遇到什么問題了?接下來我會細細總結一下。

  系統:deepin15.10

  python版本(已存在):2.7,3.5.3

  1、第一個遇到的問題,是安裝完成Python3.8.1之后想要安裝第三方庫時出現的:Can't connect to HTTPS URL because the SSL module is not available. - skipping,划重點,“SSL”,這說明我沒有OpenSSL這個插件,但很顯然,我不可能沒有下載OpenSSL,那么就說明我沒有將3.8和OpenSSL聯系起來,為了做到這一點,我需要配置解壓后的3.8中的Setup,將相關語句解開注釋:

 

 

 

 

重新編譯,然后我就遇到了第二個問題。

  2、第二個問題是在make時出現的:./Modules/_ssl.c:57:25: fatal error: openssl/rsa.h: 沒有那個文件或目錄這個錯誤的出現應當是我上面的SSL的路徑配置錯誤,所以我需要找到OpenSSL的正確路徑。此時,出現了第三個問題。

  3、第三個問題是我找不到OpenSSL的真正路徑,沒錯,我不知道OpenSSL究竟在哪。linux使用命令行安裝軟件

非常方便,但非常不幸的是,使用apt-get安裝后的軟件我從來都找不到到底在哪,我也搜索過這個問題,記得有一個回答是linux會自動將下載的軟件中的文件夾分成不同的類型放入不同的文件夾中,比如軟件有lib文件夾,有bin文件夾,有doc文件夾,那么使用命令行下載所有軟件,會將所有的lib放在一起,所有bin放在一起,所有的doc放在一起,這也就造成一個軟件,在使用者眼中是“分裂”的。這就是我找不到OpenSSL的原因。不過,在發現了不同版本的python各自擁有OpenSSL時,我決定從官網上重新下載一個OpenSSL,然后提供給Python3.8。下載,編譯,安裝,很順利,新的OpenSSL安裝成功了,然后繼續Python3.8的編譯,於是,我遇到了第四個問題。

  4、第四個問題同樣是在make時出現的:./python: /lib/x86_64-linux-gnu/libssl.so.1.1: version `OPENSSL not found,這個問題似乎涉及到依賴的問題,python的依賴有一個沒有找到。

 

 

 

我使用ldd ./python,發現同樣彈出NotFound,

 

 

 

這個問題要比前幾個麻煩得多——因為我對於依賴一點也不了解,只知道依賴大概是沒有某個插件的支持,這個軟件就不能使用的意思。我試着去網上提問,有人告訴了我幾種解決的方法,但都不能解決我的問題,在上網查詢之后我發現,這個報錯一般代表着新版本的內容被指向了舊版本——簡單來說就是版本之間的沖突。然后就引發了第五個問題。

  5、第五個問題:我的OpenSSL不能使用了。同樣是NotFound錯誤。

  直到最后,我也沒解決這些問題,我選用了最粗暴的方法:rm -rf。OpenSSL不能用了?刪!Python3.8沒編譯成功?刪!把所有刪個干凈后再重新安裝,sudo apt-get install openssl,vim Setup,sudo ./configure --enable-optimizations --prefix=/usr/local/python3.8,sudo make,sudo make install,sudo ln -s /usr/local/python-3.8/bin/python3.8 /usr/bin/python3.8一氣呵成!沒有終止,沒有報錯!

  果然,有時候換個姿勢,效果也許會更好。

 


免責聲明!

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



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