Letsencrypt ImportError:更新时,amazon linux上没有名为interface的模块

O-m*_*kar 14 python linux lets-encrypt

今天当我尝试使用此命令续订证书时,我遇到了错误

/opt/letsencrypt/letsencrypt-auto renew --config /etc/letsencrypt/config.ini --agree-tos && apachectl graceful
Run Code Online (Sandbox Code Playgroud)

也试过这个命令

/opt/letsencrypt/letsencrypt-auto renew
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from certbot.main import main
  File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/certbot/main.py", line 12, in <module>
    import zope.component
  File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in <module>
    from zope.interface import Interface
ImportError: No module named interface
Run Code Online (Sandbox Code Playgroud)

我做了很多研究,没有找到解决方案.

O-m*_*kar 19

经过大量研究后我发现了它.

您必须取消设置Python安装布局

 unset PYTHON_INSTALL_LAYOUT
Run Code Online (Sandbox Code Playgroud)

然后更新letsencrypt

 /opt/letsencrypt/letsencrypt-auto -v
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此博客https://o-mkar.com/facing-problem-while-renewing-letsencrypt-certificates-importerror-no-module-named-interface-amazon-linux

  • 如果在取消设置环境变量后仍然出现错误,另一种尝试方法是删除在.local中的主文件夹下创建的python virtualenv.清除该文件夹后,重新安装到最新版本顺利进行 (3认同)
  • 我还必须卸载zope.interface并重新安装它,以及加密. (2认同)