macos pyenv 安裝 2.7.10 遇到問題

遇到的錯誤訊息

可以看到,其實就是 OpenSSL 1.0 找不到的關係 (我系統只有 OpenSSL 1.1)

... [略] ...

python-build: use readline from homebrew
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems

BUILD FAILED (OS X 10.12.6 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/25/zk5fm2_x085cv1vfh3pjkr140000gn/T/python-build.20210915201441.11873
Results logged to /var/folders/25/zk5fm2_x085cv1vfh3pjkr140000gn/T/python-build.20210915201441.11873.log

Last 10 log lines:

... [略] ...

我的解決方式

嗯 先講,這裡沒有解決這次安裝 2.7.10 遇到的問題,我最後是安裝 2.7.13 ,也就是避開問題(因為懶~ haha)

這邊過程跟資訊主要是提供參考。

其實核心癥結是 OpenSSL 版本問題,在 pyenv 安裝常見問題這邊有提到『Old Python versions (for CPython, <3.5.3 and <2.7.13) require OpenSSL 1.0 while newer systems provide 1.1, and vice versa.』

而我的系統之前曾經以 pyenv 安裝過 3.8.2、 3.6.9 等,有安裝過 OpenSSL 1.1 並且調整了路徑,因此當需要安裝 <3.5.3 或  <2.7.13 時,需要調整使 OpenSSL 重新指回 1.0。

所以看到這裡,我就懶了,反正我只是需要 2.7,patch 版號應該還好,所以我就直接安裝 2.7.13 ,這樣安裝時就不會在 OpenSSL 方面出問題了。

至於如果是需要在 pyenv 內同時安裝橫跨 3.5.3 或  2.7.13  的新舊 Python 的話,應該就是要找個方式讓系統可以並存 OpenSSL 1.0/1.1,然後在 pyenv 安裝時,透過環境變數來改變相關 PATH。

You Might Also Like

Leave a Reply

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料