Search code examples
pythonmacosdarwin

Generate libpython*.so on MacOS using pyenv


I need to know how to generate shared lib like libpython*.so on MacOS (Darwin) using pyenv

I tried env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.11 But it didn't work


Solution

  • To generate a shared library like libpython*.so on MacOS (Darwin) using pyenv, you can follow the steps below:

    1- Install the Xcode command line tools by running the following command in your terminal:

    xcode-select --install
    

    2- Install the latest version of OpenSSL using Homebrew by running the following commands in your terminal:

     brew update
     brew install openssl
    

    3- Set the PKG_CONFIG_PATH environment variable to include the OpenSSL libraries by running the following command in your terminal:

    export PKG_CONFIG_PATH=$(brew --prefix openssl)/lib/pkgconfig
    

    4-Set the PYTHON_CONFIGURE_OPTS environment variable to include the --enable-shared flag by running the following command in your terminal:

    export PYTHON_CONFIGURE_OPTS="--enable-shared"
    

    5- Install the desired version of Python using pyenv by running the following command in your terminal:

    pyenv install <version>
    

    Note: Replace with the desired version of Python, for example, 3.11.0.

    After following these steps, you should be able to generate a shared library like libpython*.so on MacOS (Darwin) using pyenv.