Назад | Перейти на главную страницу

certbot устанавливает ssl, ошибка «Нет модуля с именем 'ConfigParser'»

Я настраиваю свой веб-сайт для использования https через certbot.

Я следую указаниям Вот

Я управляю wget и chmod без проблем, но когда я выполняю:

./certbot-auto

Я получаю следующие ошибки:

Setting up gyp (0.1+20150913git1f374df9-1ubuntu1) ...
Traceback (most recent call last):
File "/usr/bin/pycompile", line 35, in
from debpython.version import SUPPORTED, debsorted, vrepr, \
File "/usr/share/python/debpython/version.py", line 24, in
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: error processing package gyp (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up python-virtualenv (15.0.1+ds-3) ...
Traceback (most recent call last):
File "/usr/bin/pycompile", line 35, in
from debpython.version import SUPPORTED, debsorted, vrepr, \
File "/usr/share/python/debpython/version.py", line 24, in
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: error processing package python-virtualenv (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of node-gyp:
node-gyp depends on gyp (>= 0.1+20150913git1f374df9); however:
Package gyp is not configured yet.

dpkg: error processing package node-gyp (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of npm:
npm depends on node-gyp (>= 0.10.9); however:
Package node-gyp is not configured yet.

dpkg: error processing package npm (--configure):
dependency problems - leaving unconfigured
Setting up trash-cli (0.12.9.14-2) ...

Я в основном сосредоточился на ошибке:

ImportError: нет модуля с именем ConfigParser

Но не могу найти решения.

Как исправить эту ошибку?

p.s. Мне было интересно, связано ли это с различными настройками Python по умолчанию, но ived безрезультатно пробовал как 2.7, так и 3.5, используя ln -sf /usr/bin/python2.7 / usr / local / bin / python.

Прежде всего, удаление Python 3, как было предложено в предыдущем ответе, - ужасная идея, хотя у него есть небольшой шанс исправить вашу конкретную проблему, гораздо более вероятно, что будет создано гораздо больше, поскольку любая программа, зависящая от нее, выйдет из строя.

Во-вторых, ваша проблема связана с модификацией, которая была внесена в вашу систему, которую никогда не следовало делать. python предназначен для ссылки на python2 по умолчанию (см. PEP 394) для обратной совместимости и предоставляется python-minimal на Ubuntu (см. список файлов).

Я бы посоветовал удалить битые пакеты, переустановить python, python-minimal, python3 и python3-minimal запускать что-то вроде:

sudo apt update     # Get an up-to-date list of available packages
sudo apt autoclean  # Remove partial packages
sudo apt clean      # Remove package cache to force redownload
sudo apt install --reinstall python python-minimal python3 python3-minimal

Если какая-либо из сломанных упаковок отказывается удалить через apt, ты можешь использовать sudo dpkg --remove -force --force-remove-reinstreq $BROKEN_PACKAGE_NAMES (где вы, конечно, должны заменить переменную фактическими сломанными пакетами). ОСТОРОЖНО, это в значительной степени удалит все, поэтому не пытайтесь удалить пакет, который, по вашему мнению, важен для вашей системы.

После того, как вы исправили свой системный Python, запустите certbot-auto очередной раз.

ConfigParser это встроенный модуль, но он был изменен на нижний регистр configparser с python 3. Вы запускаете сценарий python2 с python3.

Избавление от python3 и установка только python2 должно решить вашу проблему. Я лично использую обезвоженный, который также может быть вариантом.

Та же проблема возникла, когда я пытался установить nodejs и npm с помощью «sudo apt-get install -f nodejs npm». Просто измените версию Python по умолчанию. "sudo rm -rf / usr / bin / python" "sudo ln -s / usr / bin / python2 / usr / bin / python" будет в порядке.