Python3
SLES 12.5 從原始碼安裝 Python 3.9
我試過了
wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tgz tar xvzf Python-3.9.4.tgz
移到源目錄
./configure make
然後,經過多行,我收到一個錯誤
Could not build the ssl module! Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host(). LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381
我不明白該怎麼做,因為我檢查了
openssl version OpenSSL 1.0.2p-fips 14 Aug 2018
和
openssl-1_1 version OpenSSL 1.1.1d 10 Sep 2019
而且,從根:
Reading installed packages... S | Name | Summary | Type ---+----------------------------+-----------------------------------+----------- i+ | libgnutls-openssl27 | The GNU Transport Layer Securit-> | package i | libopenssl-1_0_0-devel | Development files for OpenSSL | package i+ | libopenssl-devel | Include Files and Libraries man-> | package i | libopenssl1_0_0 | Secure Sockets and Transport La-> | package i | libopenssl1_0_0-32bit | Secure Sockets and Transport La-> | package i | libopenssl1_1 | Secure Sockets and Transport La-> | package i | libxmlsec1-openssl1 | OpenSSL crypto plugin for XML S-> | package i | openssl | Secure Sockets and Transport La-> | package i | openssl-1_0_0 | Secure Sockets and Transport La-> | package i+ | openssl-1_1 | Secure Sockets and Transport La-> | package i+ | python3-pyOpenSSL | Python wrapper module around th-> | package
有任何想法嗎?不能在 SLES 12.5 上使用 python 3.9 嗎?我可以擁有的最高版本是多少?(當然我已經是 zypper 的原生 3.6)
也許我應該配置 openssl 的根目錄,但我不確定它到底在哪裡
which openssl-1_1 /usr/bin/openssl-1_1
是
/usr/bin
嗎?(我不這麼認為)
您在系統上安裝的版本
openssl-devel
不夠新,無法建構 Python 3.9。您將在包含您需要的開發庫的許多包中遇到這個問題,因為您正在執行只有 1.0.0 版本的 SLES 12,而 Python 3.9 至少需要 1.0.2,最好是 1.1。您唯一能做的就是從原始碼建構 Openssl 1.0.2 或 1.1 並將其添加到您的環境中。您需要對系統上不夠新的任何其他所需的軟體包執行相同的操作。SLES 12 仍受支持,但它不會為 Python 3.9 等更新的軟體提供最新的軟體包。