- Notifications
You must be signed in to change notification settings - Fork 78
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Affects: PythonCall
Describe the bug
When both OpenSSL and PythonCall are loaded pyimport("ssl") fails if an external python executable is used.
julia>ENV["JULIA_PYTHONCALL_EXE"] = joinpath(ENV["MAMBA_ROOT_PREFIX"], "bin", "python") julia>using OpenSSL, PythonCall julia> println(pyimport("sys").executable) julia> pyimport("ssl") /opt/conda/bin/python ERROR: Python: ImportError:/home/mambauser/.julia/artifacts/625d0c7f43b3ae48c9d49a1a17970e8e9d7e271b/lib/libcrypto.so: version `OPENSSL_3.3.0' not found (required by /opt/conda/lib/python3.10/lib-dynload/_ssl.cpython-310-aarch64-linux-gnu.so)Python stacktrace: [1] <module> @ /opt/conda/lib/python3.10/ssl.py:99Obviously, the python import tries to load Julia's OpenSSL cryptolibrary although the calling python executable is correctly set.
A workaround is to import the ssl module before loading OpenSSL. However, I am not sure whether Julia's OpenSSL will function properly.
julia>ENV["JULIA_PYTHONCALL_EXE"] = joinpath(ENV["MAMBA_ROOT_PREFIX"], "bin", "python") julia>using PythonCall julia> println(pyimport("sys").executable) julia>using OpenSSL julia> pyimport("ssl") Python:<module'ssl' from '/opt/conda/lib/python3.10/ssl.py'>Interestingly, I didn't succeed in using the CondaPkg's python version:
julia>ENV["JULIA_CONDAPKG_BACKEND"] ="MicroMamba"; julia>using PythonCall (@v1.10) pkg> conda st CondaPkg Status /home/mambauser/.julia/environments/v1.10/CondaPkg.toml Environment /home/mambauser/.julia/environments/v1.10/.CondaPkg/env Packages pandas v2.2.2 julia> pyimport("sys").executable Python:'/opt/conda/bin/python' julia> pyimport("ssl") Python:<module'ssl' from '/opt/conda/lib/python3.10/ssl.py'>My system
- Docker: micromamba 1.5.10 (Ubuntu)
- Julia 1.10.5, Python 3.10, PythonCall 0.9.23, OpenSSL 1.4.3
julia> versioninfo() Julia Version 1.10.5 Commit 6f3fdf7b362 (2024-08-2714:19 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (aarch64-linux-gnu) CPU:2× unknown WORD_SIZE:64 LIBM: libopenlibm LLVM: libLLVM-15.0.7 (ORCJIT, generic) Threads:1 default, 0 interactive, 1 GC (on 2 virtual cores) Environment: JULIA_REVISE = on JULIA_FILE = julia-1.10.5-linux-x86_64.tar.gz JULIA_CONDAPKG_BACKEND = MicroMamba JULIA_PYTHONCALL_EXE =/opt/conda/bin/python JULIA_CC =/opt/conda/bin/g++ JULIA_DEPOT_PATH =/home/mambauser/.julia (@v1.10) pkg> st Status `~/.julia/environments/v1.10/Project.toml` [4d8831e6] OpenSSL v1.4.3 [6099a3de] PythonCall v0.9.23 (@v1.10) pkg> conda st CondaPkg Status /home/mambauser/.julia/environments/v1.10/CondaPkg.toml Using the Null backend (dependencies shown here are not being managed) Environment Packages pandasMetadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working