How to make python pick up my new-and-shiny openssl shared object

Christian Heimes christian at python.org
Wed Aug 8 01:25:33 EDT 2018


On 2018-08-08 00:07, Fetchinson . via Python-list wrote:
> The highest version of openssl available on my system is 1.0.0 which
> is not good enough for pip these days (or github for that matter). So
> I've installed 1.1.0 to a custom location /home/fetch/opt. But if I do
> 
> import ssl
> ssl.OPENSSL_VERSION
> 
> it still shows me that it is using the system default 1.0.0. How do I
> tell python to use /home/fetch/opt for the ssl module? Note that I
> have /home/fetch/opt as the first entry in LD_LIBRARY_PATH. Also, I
> know for a fact that I don't need to recompile python for this so
> please don't suggest "just recompile python with the new openssl
> library" as the solution :)

Hi,

first of all, you need to use the library directory for LD_LIBRARY_PATH.
It's the directory that contains libssl*.so, probably
/home/fetch/opt/lib or /home/fetch/opt/lib64.

You may also have to recompile Python yourself. OpenSSL 1.0.2 is not
ABI-compatible with OpenSSL 1.0.0. In case you want to use OpenSSL
1.1.0, you must update to a more recent version of Python, too. OpenSSL
1.1.0 support was added in 2.7.13.

Christian




More information about the Python-list mailing list