我在AWS Ec2 Amazon Linux上并试图使用Let's Encrypt。当我第一次安装Let's Encrypt几个月后,我没有任何更新证书的问题。但现在我收到此错误而无法续订。
# ./certbot-auto --debug
Error: couldn't get currently installed version for /opt/eff.org/certbot/venv/bin/letsencrypt:
Traceback (most recent call last):
File "/opt/eff.org/certbot/venv/bin/letsencrypt", line 7, in <module>
from certbot.main import main
File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/certbot/main.py", line 7, in <module>
import zope.component
File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in <module>
from zope.interface import Interface
ImportError: No module named interface
我尝试过设置PYTHON_INSTALL_LAYOUT
并升级pip,virtualenv。没有运气。
这个问题似乎与此类似Letsencrypt ImportError: No module named interface on amazon linux while renewing但是dirctory是不同的。我不确定我想要/opt/eff.org/certbot/venv/bin/letsencrypt
答案 0 :(得分:27)
我能用以下方法解决这个问题:
sudo rm -rf /root/.local/share/letsencrypt/
sudo rm -rf /opt/eff.org/certbot/
然后在用户模式下重新运行certbot-auto(ec2-user)。
./certbot-auto renew -v --debug
答案 1 :(得分:16)
我刚刚在亚马逊Linux上遇到了这个问题。对我有用的修正是detailed on the certbot GitHub issue
我遇到了同样的问题,因为看起来安装不好的certbot。 我通过运行以下命令修复它:
alter view
我没有在服务器上单独安装pip,它只作为certbot安装的一部分提供,所以这是我可以使用pip正确升级安装的唯一方法。
答案 2 :(得分:1)
如果你像我一样在你的EC2实例上安装了import Cards.*;
import Enemies.*;
public class AttackCards //main class
{
public static void main(String args[])
{
Fly fly = new Enemies.Fly();
fly.setThis(new AttackCards());
fly.useCard();
}
}
package Enemies;
public class Fly extends Enemy
{
public Card[] enemyCards = new Card[super.cardBridge.Swoop()];
//need to define list of cards able to use
}
package Enemies;
public class Enemy
{
public Object cardBridge;
public void setThis(Object ac)
{
cardBridge = ac;
}
}
package Cards;
public class Swoop extends Card //need list of similar classes
{
public int damage = 8;
public void useCard(Object enemy, Object player)
{
ememy.health-=damage;
}
}
,你可以这样做:
pip
通过rm -rf /opt/eff.org/*
pip install -U certbot
certbot renew --debug
下载certbot-auto
一直给我带来问题,因此首选上述方法。