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

Python Letsencrypt ImportError:更新时amazon linux上没有名为interface的模块,python,linux,lets-encrypt,Python,Linux,Lets Encrypt,今天,当我尝试使用此命令续订证书时,我遇到了错误 /opt/letsencrypt/letsencrypt-auto renew --config /etc/letsencrypt/config.ini --agree-tos && apachectl graceful 还尝试了此命令 /opt/letsencrypt/letsencrypt-auto renew 错误: Traceback (most recent call last): File "/root/.lo

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

/opt/letsencrypt/letsencrypt-auto renew --config /etc/letsencrypt/config.ini --agree-tos && apachectl graceful
还尝试了此命令

/opt/letsencrypt/letsencrypt-auto renew
错误:

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
回溯(最近一次呼叫最后一次):
文件“/root/.local/share/letsencrypt/bin/letsencrypt”,第7行,在
从certbot.main导入main
文件“/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/certbot/main.py”,第12行,在
导入zope.component
文件“/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/_-init___.py”,第16行,在
从zope.interface导入接口
ImportError:没有名为interface的模块

我做了大量研究,但没有找到解决方案。在做了大量研究后,我找到了解决方案。

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

 unset PYTHON_INSTALL_LAYOUT
然后更新letsencrypt

 /opt/letsencrypt/letsencrypt-auto -v

有关更多信息,请参阅本博客

sudopip卸载zope.interface
并重新安装zope.interface


sudo-pip-install-zope.interface

我遇到了同样的问题,按照本文的说明升级pip和virtualenv对我来说很有效

sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
rm -rf ~/.local/share/letsencrypt
/opt/letsencrypt/letsencrypt-auto --debug

对我来说,问题的一部分与64位软件包安装时的一些奇怪的默认行为有关,但python并没有注意到这一点。在获得此问题[目前主要安装了它]后,运行以下[假设它尝试安装在/root/.local/share/letsencrypt/]中]

cd /root/.local/share/letsencrypt
\cp -r ./venv/lib64/* ./venv/lib/

然后重试该命令。python虚拟环境的安装位置随版本和操作系统的不同而变化,但一般原则帮助我调试了两种不同的安装。

这对我来说很有效,否则zope和cryptography会不断显示安装的相互依赖性,导致死锁。看


? 可能您可以猜到,使用哪种python-[??]。也就是说,有很多带有
interface.py
的软件包,我还必须卸载zope.interface并重新安装它,以及加密。如果在取消设置环境变量后仍然出现错误,另一种方法是删除在.local中的主文件夹下创建的python virtualenv。清除该文件夹后,“重新安装到最新版本”进行得很顺利,但取消设置该环境变量意味着什么?你应该重新设置吗?对我来说,
zope.interface
没有安装,但是安装并没有什么不同。我的系统报告的要求已经是最新的:pip in/usr/lib/python2.7/dist packages”
sudo /opt/eff.org/certbot/venv/local/bin/pip install cryptography interface zope