Erro Apt-get: apt-listchanges e debconf

1

Estou repetidamente recebendo esta mensagem:

Setting up apt-listchanges (3.10) ...
Traceback (most recent call last):
  File "/tmp/tmp.aulCeycFHm.aptlc/debconf-helper.py", line 6, in <module>
    import debconf
ImportError: No module named 'debconf'
dpkg: error processing package apt-listchanges (--configure):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
 apt-listchanges

debconf

~$ dpkg --status debconf
Package: debconf
Status: install ok installed
Priority: required
Section: admin
Installed-Size: 558
Maintainer: Debconf Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 1.5.60
Replaces: debconf-tiny
Provides: debconf-2.0
Pre-Depends: perl-base (>= 5.6.1-4)
Recommends: apt-utils (>= 0.5.1), debconf-i18n
Suggests: debconf-doc, debconf-utils, whiptail | dialog, libterm-readline-gnu-perl, libgtk2-perl (>= 1:1.130), libnet-ldap-perl, perl, libqtgui4-perl, libqtcore4-perl
Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13)
Conffiles:
 /etc/apt/apt.conf.d/70debconf 7e9d09d5801a42b4926b736b8eeabb73
 /etc/debconf.conf 8c0619be413824f1fc7698cee0f23811
Description: Debian configuration management system
 Debconf is a configuration management system for debian packages. Packages
 use Debconf to ask questions when they are installed.

ls -l /usr/lib/python*/dist-packages/debconf.py

ls -l /usr/lib/python*/dist-packages/debconf.py
    
por William Horne 18.05.2017 / 18:14

2 respostas

2

Isso pode não ser mais importante para você, mas descobri uma solução alternativa, pelo menos para mim.

O problema é que não é possível encontrar debconf.py em seu caminho. No meu caso, estava usando um python diferente com configurações diferentes do que normalmente estava no meu caminho.

Eu finalmente encontrei um arquivo debconf.py em /usr/lib/python3/dist-packages/debconf.py . Para mim, foi python3.6 que tinha o caminho errado, o que você pode encontrar fazendo:

$ python3.6
>>> import sys
>>> sys.path

O que me mostrou que não tinha o que estava no meu $PATH . Em vez de me meter muito, apenas corri isto:

# ln -s /usr/lib/python3/dist-packages/debconf.py /usr/local/lib/python3.6/site-packages

O destino pode ser em qualquer lugar que apareça nesse sys.path . Você provavelmente poderia copiar em vez de symlink. Independentemente disso, foi o que fiz e funcionou para mim - espero que você tenha sorte semelhante!

    
por 11.10.2017 / 21:51
0

Comecei a receber este erro quando atualizei meu servidor de computação do Debian jessie para o Debian stretch .

Meu problema é que eu tinha (tolamente) instalado manualmente o Python 3.5 em todo o sistema antes da atualização para stretch , e essa versão do Python estava "mascarando" a instalação padrão do stretch do Python 3. Em particular, esses fatores estavam em jogo:

  • Meu manual da instalação v3.5 havia colocado seu link simbólico python3 em /usr/local/bin

  • O pacote Debian python3 system tinha instalado symlinks em /usr/bin

  • /usr/local/bin foi anterior no meu $PATH do que foi /usr/bin

Então, para corrigir esse problema específico, tudo o que precisei fazer foi renomear o link simbólico /usr/local/bin/python3 para, por exemplo, /usr/local/bin/python3-local e, em seguida, import debconf funcionou bem após uma invocação python3 .

Uma solução mais completa provavelmente seria uma desinstalação total da versão manual de todo o sistema do Python 3.5 e a reinstalação do sandbox.

    
por 18.12.2017 / 19:45