ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

本文解决了在CentOS7上安装Certbot时遇到的错误:'pyOpenSSL'模块缺少所需的功能。通过删除旧的依赖项并安装python-devel和openssl-devel,最后更新pyOpenSSL来解决问题。

CentOS7 安装Certbot 报错

执行 certbot certonly 报错如下:

ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

网上的方法如果你去测试可能会发现pip show pyOpenSSL 的版本是 17.x.x,这个时候,先删除所有的yum remove certbot && pip uninstall pyOpenSSL,再重新安装如下依赖:

yum install -y python-devel
yum install -y openssl-devel

(以上两句是关键,然后再重新安装certbot)

再次执行certbot certonly会出现如下报错:

[root@f2 ~]# certbot certonly
Traceback (most recent call last):
  File "/usr/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.19.0', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 570, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2751, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2405, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2411, 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 34, in <module>
    urllib3.contrib.pyopenssl.inject_into_urllib3()
  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.
[root@f2 ~]# 

这个时候已经快大功告成了,执行升级即可:

pip install pyOpenSSL
pip install PyOpenSSL
Traceback (most recent call last): File "/bin/certbot", line 9, in <module> load_entry_point('certbot==1.11.0', 'console_scripts', 'certbot')() File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 570, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2687, in load_entry_point return ep.load() File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2341, in load return self.resolve() File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2347, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/lib/python2.7/site-packages/certbot/main.py", line 2, in <module> from certbot._internal import main as internal_main File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 21, in <module> from certbot._internal import account File "/usr/lib/python2.7/site-packages/certbot/_internal/account.py", line 17, in <module> from acme.client import ClientBase # pylint: disable=unused-import File "/usr/lib/python2.7/site-packages/acme/client.py", line 39, in <module> requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # type: ignore File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 133, in inject_into_urllib3 _validate_dependencies_met() File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 175, in _validate_dependencies_met "'pyOpenSSL' module missing required functionality. " ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
10-14
[root@wpf-centos7 ~]# certbot --apache -d yourdomain.com -d www.yourdomain.com /usr/lib/python2.7/site-packages/josepy/util.py:9: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release. from cryptography.hazmat.primitives.asymmetric import rsa ^CTraceback (most recent call last): File "/usr/bin/certbot", line 9, in <module> load_entry_point('certbot==1.11.0', 'console_scripts', 'certbot')() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point return ep.load() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) File "/usr/lib/python2.7/site-packages/certbot/main.py", line 2, in <module> from certbot._internal import main as internal_main File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 17, in <module> from certbot import crypto_util File "/usr/lib/python2.7/site-packages/certbot/crypto_util.py", line 13, in <module> from cryptography import x509 # type: ignore File "/usr/lib64/python2.7/site-packages/cryptography/x509/__init__.py", line 8, in <module> from cryptography.x509.base import ( File "/usr/lib64/python2.7/site-packages/cryptography/x509/base.py", line 23, in <module> from cryptography.x509.extensions import Extension, ExtensionType File "/usr/lib64/python2.7/site-packages/cryptography/x509/extensions.py", line 630, in <module> class ReasonFlags(Enum): File "/usr/lib/python2.7/site-packages/enum/__init__.py", line 257, in __new__ enum_class._value2member_map_[value] = enum_member KeyboardInterrupt [root@wpf-centos7 ~]# certbot --apache -d gxlscc.fun -d www.gxlscc.fun /usr/lib/python2.7/site-packages/josepy/util.py:9: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release. from cryptography.hazmat.primitives.asymmetric import rsa Traceback (most recent call last): File "/usr/bin/certbot", line 9, in <module> load_entry_point('certbot==1.11.0', 'console_scripts', 'certbot')() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point return ep.load() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) File "/usr/lib/python2.7/site-packages/certbot/main.py", line 2, in <module> from certbot._internal import main as internal_main File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 21, in <module> from certbot._internal import account File "/usr/lib/python2.7/site-packages/certbot/_internal/account.py", line 17, in <module> from acme.client import ClientBase # pylint: disable=unused-import File "/usr/lib/python2.7/site-packages/acme/client.py", line 39, in <module> requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # type: ignore File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 133, in inject_into_urllib3 _validate_dependencies_met() File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 175, in _validate_dependencies_met "'pyOpenSSL' module missing required functionality. " ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer. [root@wpf-centos7 ~]#
最新发布
11-27
[root@wpf-centos7 ~]# yum install python3-certbot 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 没有可用软件包 python3-certbot。 错误:无须任何处理 [root@wpf-centos7 ~]# yum install certbot-apache 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 python2-certbot-apache.noarch.0.1.11.0-1.el7 将被 安装 --> 正在处理依赖关系 python-augeas,它被软件包 python2-certbot-apache-1.11.0-1.el7.noarch 需要 --> 正在检查事务 ---> 软件包 python-augeas.noarch.0.0.5.0-2.el7 将被 安装 --> 正在处理依赖关系 augeas-libs,它被软件包 python-augeas-0.5.0-2.el7.noarch 需要 --> 正在检查事务 ---> 软件包 augeas-libs.x86_64.0.1.4.0-10.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ================================================================================ Package 架构 版本 源 大小 ================================================================================ 正在安装: python2-certbot-apache noarch 1.11.0-1.el7 epel 139 k 为依赖而安装: augeas-libs x86_64 1.4.0-10.el7 base 357 k python-augeas noarch 0.5.0-2.el7 base 25 k 事务概要 ================================================================================ 安装 1 软件包 (+2 依赖软件包) 总下载量:521 k 安装大小:1.7 M Is this ok [y/d/N]: y Downloading packages: (1/3): python-augeas-0.5.0-2.el7.noarch.rpm | 25 kB 00:00 (2/3): augeas-libs-1.4.0-10.el7.x86_64.rpm | 357 kB 00:00 (3/3): python2-certbot-apache-1.11.0-1.el7.noarch.rpm | 139 kB 00:00 -------------------------------------------------------------------------------- 总计 580 kB/s | 521 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : augeas-libs-1.4.0-10.el7.x86_64 1/3 正在安装 : python-augeas-0.5.0-2.el7.noarch 2/3 正在安装 : python2-certbot-apache-1.11.0-1.el7.noarch 3/3 验证中 : python-augeas-0.5.0-2.el7.noarch 1/3 验证中 : augeas-libs-1.4.0-10.el7.x86_64 2/3 验证中 : python2-certbot-apache-1.11.0-1.el7.noarch 3/3 已安装: python2-certbot-apache.noarch 0:1.11.0-1.el7 作为依赖被安装: augeas-libs.x86_64 0:1.4.0-10.el7 python-augeas.noarch 0:0.5.0-2.el7 完毕! [root@wpf-centos7 ~]# certbot --version /usr/lib/python2.7/site-packages/josepy/util.py:9: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release. from cryptography.hazmat.primitives.asymmetric import rsa Traceback (most recent call last): File "/usr/bin/certbot", line 9, in <module> load_entry_point('certbot==1.11.0', 'console_scripts', 'certbot')() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point return ep.load() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) File "/usr/lib/python2.7/site-packages/certbot/main.py", line 2, in <module> from certbot._internal import main as internal_main File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 21, in <module> from certbot._internal import account File "/usr/lib/python2.7/site-packages/certbot/_internal/account.py", line 17, in <module> from acme.client import ClientBase # pylint: disable=unused-import File "/usr/lib/python2.7/site-packages/acme/client.py", line 39, in <module> requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # type: ignore File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 133, in inject_into_urllib3 _validate_dependencies_met() File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 175, in _validate_dependencies_met "'pyOpenSSL' module missing required functionality. " ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
11-27
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值