Apt-get-Fehler: apt-listchanges und debconf

Apt-get-Fehler: apt-listchanges und debconf

Ich erhalte wiederholt diese Meldung:

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

Antwort1

Das ist für Sie vielleicht nicht mehr wichtig, aber ich habe, zumindest für mich, eine Problemumgehung gefunden.

debconf.pyDas Problem ist, dass es Ihren Pfad nicht finden kann . In meinem Fall wurde ein anderes Python mit anderen Einstellungen verwendet als das, was normalerweise auf meinem Pfad war.

Ich habe schließlich eine Datei debconf.py in gefunden /usr/lib/python3/dist-packages/debconf.py. Bei mir war es python3.6die mit dem falschen Pfad, den Sie folgendermaßen herausfinden können:

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

Das zeigte mir, dass es nicht das hatte, was auf meinem war $PATH. Anstatt zu viel herumzuspielen, habe ich einfach das hier ausgeführt:

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

Das Ziel kannüberalldas wird darin angezeigt sys.path. Sie könnten wahrscheinlich kopieren, anstatt einen symbolischen Link zu verwenden. Wie dem auch sei, das habe ich getan und es hat bei mir funktioniert – ich hoffe, Sie haben ähnliches Glück!

Antwort2

Dieser Fehler trat erstmals bei mir auf, als ich meinen Berechnungsserver von Debian jessieauf Debian aktualisierte stretch.

Mein Problem war, dass ich (dummerweise) Python 3.5 systemweit manuell installiert hatte, bevor ich auf aktualisierte stretch, und diese Python-Version die Standardinstallation von Python 3 „maskierte“ stretch. Dabei spielten insbesondere diese Faktoren eine Rolle:

  • Meine manuelle v3.5-Installation hatte ihren python3Symlink in/usr/local/bin

  • Das Debian python3-Systempaket hatte symbolische Links installiert in/usr/bin

  • /usr/local/binwar früher in meinem $PATHals war/usr/bin

Um dieses spezielle Problem zu beheben, musste ich den symbolischen Link einfach umbenennen /usr/local/bin/python3, z. B. in /usr/local/bin/python3-local, und dann import debconffunktionierte er nach einem python3Aufruf einwandfrei.

Eine umfassendere Lösung wäre wahrscheinlich eine vollständige Deinstallation der systemweiten manuellen Version von Python 3.5 und eine Neuinstallation in einer Sandbox.

verwandte Informationen