-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer. #5534
Comments
centos-release-7-4.1708.el7.centos.x86_64
upgrade when downgrade: sudo pip install pyOpenSSL==0.15.1 same error
|
try |
Do not mix You do not need newer pyOpenSSL on CentOS 7 to run certbot! pip uninstall requests
yum reinstall python-requests
pip uninstall six
yum reinstall python-six
pip uninstall urllib3
yum reinstall python-urllib3 |
This bug still persists in RHEL 7
|
So aggravating. I'm beginning to hate Centos. |
Tried updating pyOpenSSL on CentOS, get the following error: sudo pip install pyOpenSSL==0.15.1 |
A bit of context: the dist package for pyOpenSSL is at 0.13.1. to uninstall it in order to update it through pip - Yum makes me uninstall certbot. Considering certbot was the whole reason I need to update pyOpenSSL - kind of puts us in a catch 22. yum info pyOpenSSL
|
For both debugging's sake as well as for the hell of it, I uninstalled the dist pyOpenSSL (and thusly certbot), did a pip install of pyOpenSSL, and reinstalled certbot. Yum overwrote pyOpenSSL 0.15.1 with 0.13.1....and same result when I try to renew with certbot. I then attempted a sudo pip install --upgrade pyopenssl - and same error message about the distutils installed version. No workaround today - guess my certs are going to expire then |
acme.sh works, I've given up on certbot ;) |
Guys, actually found a fix for this. I can't take credit for doing anything other than stumbling upon the article: https://medium.com/@getpagespeed/fix-importerror-pyopenssl-module-missing-required-functionality-e1c514797204 All credit to Danila Vershinin for finding the fix! |
I can only add that if you have certbot and aws cli installed then it is very likely to have that issue. |
Fix does not work for me - no pip packages installed and all the ones listed yum reports as already installed and up to date. |
Regarding having aws cli and certbot on the same system. It comes down to a conflicting version of urllib3. I cannot get them to work together, even installing |
Had the same problem with conflicting versions of urllib3 after installing aws cli. Eventually, after fixing certbot I installed aws cli using virtualenv. |
I also installed awscli using the bundled installer they provide, so that it is self-contained. https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html |
Another way around the the conflict between awscli and certbot is to install python36 and run awscli using it. |
Can certbot package not install its python modules in its own environment or be less strict when it comes to version requirements? |
We've made a lot of changes to Certbot since this issue was opened. If you still have this issue with an up-to-date version of Certbot, can you please add a comment letting us know? This helps us to better see what issues are still affecting our users. If there is no activity in the next 30 days, this issue will be automatically closed. |
This issue has been closed due to lack of activity, but if you think it should be reopened, please open a new issue with a link to this one and we'll take a look. |
My operating system is (include version):
CentOS 7.4.1708 (64bit)
I installed Certbot with (certbot-auto, OS package manager, pip, etc):
centos 7 yum
I ran this command and it produced this output:
sudo certbot --authenticator standalone --installer nginx --pre-hook "nginx -s stop" --post-hook "nginx"
output:
Traceback (most recent call last): File "/bin/certbot", line 9, in <module> load_entry_point('certbot==0.20.0', 'console_scripts', 'certbot')() File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 572, i n load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2755, in load_entry_point return ep.load() File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2408, in load return self.resolve() File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2414, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/lib/python2.7/site-packages/certbot/main.py", line 19, in <module> from certbot import client File "/usr/lib/python2.7/site-packages/certbot/client.py", line 11, in <module > from acme import client as acme_client File "/usr/lib/python2.7/site-packages/acme/client.py", line 32, in <module> requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # type: i gnore File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 112 , in inject_into_urllib3 _validate_dependencies_met() File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 147 , in _validate_dependencies_met raise ImportError("'pyOpenSSL' module missing required functionality. " ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
Certbot's behavior differed from what I expected because:
i excepted it to give me cert but it gave that error. already tried updating pyOpenSSL, but it didnt work
Here is a Certbot log showing the issue (if available):
Logs are stored in
/var/log/letsencrypt
by default. Feel free to redact domains, e-mail and IP addresses as you see fit.Folder doesnt exist
Here is the relevant nginx server block or Apache virtualhost for the domain I am configuring:
upstream backend {
# the netdata server
server 127.0.0.1:19999;
keepalive 64;
}
server {
# nginx listens to this
listen 80;
}
The text was updated successfully, but these errors were encountered: