SSL backend error when using OpenSSL

I was trying to install pycurl in a virtualenv using pip and I got this error

    ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)

I read some documentation saying that "To fix this, you need to tell what SSL backend is used" (source) although I am not sure how to do this since I installed pycurl using pip.

How can I specify the SSL backend when installing pycurl with pip?


After reading their INSTALLATION file, I was able to solve my problem by setting an environment variable and did a reinstall

  • remove existing pycurl installation

pip uninstall pycurl

  • export variable with your link-time ssl backend (which is openssl above)

export PYCURL_SSL_LIBRARY=openssl

  • then, re-install pycurl

pip install pycurl

There could be other solution out there but this works perfectly for me on a virtualenv and pip installation.