letsencrypt завершился с ошибкой ImportError: нет модуля с именем интерфейса

Я использую Amazon Linux, и я выполнил несколько шагов для использования letsencrypt, которые легко найти в поиске Google, но все это терпит неудачу:

Error: couldn't get currently installed version for /root/.local/share/letsencrypt/bin/letsencrypt: 
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 11, 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

Что я делаю:

# git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
# /opt/letsencrypt/letsencrypt-auto --debug

Вот и все. Итак, я попытался это исправить, но десятки решений, которые я нашел, не сработали для меня.

Большинство из них сказали, попробуйте это:

сбросить PYTHON_INSTALL_LAYOUT

Но все равно получил ту же ошибку, ничего не меняется. И кто-то сказал, что типа этого:

pip установить --обновить пип

Но после того, как я набрал это, я больше не могу использовать pip, он потерпел неудачу с какой-то ошибкой команды, не найденной, поэтому я снова воссоздал свой сервер.

Я также пытался использовать CertBot, но он выдает ту же ошибку!

Я использую Linux 4.4.51-40.58.amzn1.x86_64 x86_64, нужна помощь. Я потратил почти сутки, но ничего не продвинулось.

Каждое решение, которое я нашел, не сработало для меня. Любой совет будет очень признателен.


person modernator    schedule 11.03.2017    source источник
comment


Ответы (5)


У меня была такая же проблема, и после долгого прогона очень простая вещь решила эту проблему на моем экземпляре AWS:

  1. Переместите файлы кеша letsencrypt в другую папку (учитывая, что вы запускаете его как root/sudo):

    sudo mv /root/.local/share/letsencrypt /root/.local/share/letsencrypt-old

  2. Скачал новую версию letsencrypt

    git clone https://github.com/letsencrypt/letsencrypt

  3. Запустите команду letsencrypt, чтобы проверить, работает ли она снова:

    sudo ./letsencrypt-auto --debug

Во время поиска решения я также обновил pip, что могло бы помочь. Хотя мои попытки после обновления pip не решили мою проблему так же, как очистка папки кеша letsencnrypt.

Надеюсь, это поможет. Если нет, некоторые ссылки, которыми я могу поделиться по той же проблеме:

person Marcio Jasinski    schedule 24.04.2017
comment
не помогает, та же проблема - person ; 11.09.2017

Удаление каталога certbot помогло мне.

rm -rf /opt/eff.org/certbot/

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
sudo ./certbot-auto certonly --standalone -d example.com --no-bootstrap
person Vuong Dang    schedule 04.11.2017

Часть проблемы для меня была связана с каким-то странным поведением по умолчанию при установке 64-битных пакетов, но не подхватываемых python. После получения этой проблемы [на данный момент она в основном установлена], запустите следующее

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

Затем повторите команду. Расположение установки виртуальной среды Python меняется в зависимости от версии и операционной системы, но общий принцип помог мне отладить две разные установки.

person Jeremy Freeman    schedule 08.09.2017

Я также сталкивался с этой проблемой несколько раз, и каждый раз мне приходилось повторять следующие шаги:

Удалить кеш:

 sudo rm -rf /root/.local/share/letsencrypt/
 sudo rm -rf /opt/eff.org/certbot/`

тогда,

unset PYTHON_INSTALL_LAYOUT

Установите Let’s Encrypt, клонировав репозиторий github в /opt/letsencrypt.

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

затем снова запустите установщик

/opt/letsencrypt/letsencrypt-auto --debug

эти шаги всегда работают для меня.

person Krish    schedule 19.12.2019

Я решил это, выполнив следующие шаги

  1. Загрузите certbot-auto, перейдя по адресу эта ссылка.

  2. Удалить папку letsencrypt:

    sudo rm -rf /opt/eff.org/
    
  3. Установите модуль криптографии:

    sudo python -m pip install cryptography
    
  4. Запустите certbot-auto --debug

    sudo ./certbot-auto --debug
    
person José Romero    schedule 29.07.2020