I'm trying to make an application that automatically updates a Google Plus spreadsheet. In order to do this I had to set up gspread
, which also requires pyOpenSSL in order to work. Without it, it throws this error:
CryptoUnavailableError: No crypto library available
Using pip
, I type the command:
pip install pyopenssl
And import using:
from OpenSSL import SSL
When I try to run the code, I receive the following error:
ImportError: No module named cryptography.hazmat.bindings.openssl.binding
I've tried reinstalling pyOpenSSL multiple times, and also tried reinstalling the cryptography dependency (as well as attempting to install previous versions of pyOpenSSL).
This problem is documented a few times, but the only solution I haven't tried is doing a fresh install of python, or the OS.
Any suggestions? Thanks in advance.
Good luck with that. Debugging ImportError issues on Windows is not for the faint of the heart.
Even though the ImportError
refers to cryptography.hazmat.bindings.openssl.binding
this does not need to be the original problem. For whatever reasons I often have ImportError
shadowing another problem.
The first thing I would try is to run
python -v -c "from OpenSSL import SSL"
and capture the output. Look for any problems close to the final error.
It could be one of the following:
pip install
, but sometimes stuff breaks...)My bet would be on the last point. The only thing that ever helps me was to open the relevant module.pyd
with Dependency Walker. More often than not some weird problem (like another DLL being found with the wrong architecture) would turn out to be the reason.
Good luck!