In Python 3.6 I am getting a ModuleNotFoundError
:
>>> import OpenSSL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'OpenSSL'
Why can't Python find the OpenSSL module?
In Python 3.6 I am getting a ModuleNotFoundError
:
>>> import OpenSSL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'OpenSSL'
Why can't Python find the OpenSSL module?
The OpenSSL
module comes from the pyOpenSSL library. You can install it with Pip using a command like:
pip install pyOpenSSL
If it fails due to missing dependencies, see the instructions on installing pyOpenSSL's dependencies in this answer to "How to install OpenSSL for Python".
(Also, as with all pip installs, depending upon your environment, you may need to write sudo
before pip
to run as root, and you may need to use a version-specific pip command like pip3
or pip2
.)
Try running on a new kernel after installing pyOpenSSL. Sometimes when you experience ModuleNotFoundError
even though you have installed a module, it could mean the new installation has not been updated on the currently running kernel.
Note: If you're using a virtual environment on Jupyter Notebook or something similar, try re-installing the virtual environment.
For Jupyter Notebook users:
Install ipykernel
:
conda install ipykernel
Re-install virtual environment:
python -m ipykernel install --user --name <envname>
from OpenSSL import SSL
There's more context in this Stack Overflow question. You may also need to install pip.