certbot configurando o ssl, erro “Nenhum módulo chamado 'ConfigParser'”

3

Estou configurando meu site para usar o https via certbot.

Estou seguindo as instruções aqui

Eu corro o wget e o chmod sem problemas, mas quando executo:

./certbot-auto

Eu recebo os seguintes erros:

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) ...

Eu tenho me concentrado principalmente no erro:

ImportError: No module named 'ConfigParser'

Mas não é possível encontrar soluções.

Como corrijo esse erro?

p.s. Eu queria saber se isso tem algo a ver com diferentes configurações de python padrão, mas ive tentou tanto 2.7 e 3.5 sem sucesso, usando ln -sf /usr/bin/python2.7 / usr / local / bin / python.

    
por Hermann Ingjaldsson 19.10.2016 / 22:55

3 respostas

2
Primeiro de tudo, remover o Python 3 como sugerido em uma resposta anterior é uma idéia terrível, embora tenha uma pequena chance de consertar seu problema em particular, é muito mais provável que ele crie muito mais, pois qualquer programa dependendo dele irá falhar .

Em segundo lugar, o seu problema deriva de uma modificação que foi feita no seu sistema e que nunca deveria ter sido feita. python deve ser vinculado a python2 por padrão (consulte PEP 394 ) para compatibilidade com versões anteriores e é fornecido por python-minimal no Ubuntu (consulte lista de arquivos ).

Sugiro remover pacotes quebrados, reinstalando python , python-minimal , python3 e python3-minimal executando algo nos seguintes termos:

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

Se algum dos pacotes quebrados se recusar a ser removido através de apt , você pode usar sudo dpkg --remove -force --force-remove-reinstreq $BROKEN_PACKAGE_NAMES (onde você deve obviamente substituir a variável com os pacotes quebrados). CUIDADO, isso praticamente irá desinstalar qualquer coisa, por isso não tente desinstalar um pacote que você acredita ser crítico para o seu sistema.

Depois de corrigir seu sistema Python, execute certbot-auto novamente.

    
por 02.11.2016 / 10:04
1

ConfigParser é um módulo de buildin, mas foi alterado para minúsculas configparser com python 3. Você está executando um script python2 com python3.

Livrar-se do python3 e instalar apenas o python2 deve resolver o seu problema. Eu uso pessoalmente uso desidratado, que também pode ser uma opção.

    
por 30.10.2016 / 17:08
0

O mesmo problema aconteceu quando eu estava tentando instalar o nodejs e o npm com o comando "sudo apt-get install -f nodejs npm". Apenas modifique a versão padrão do python. "sudo rm -rf /usr/bin/python" "sudo ln -s / usr / bin / python2 / usr / bin / python" ficará bem.

    
por 12.03.2018 / 03:33

Tags