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。
Leave a Reply