
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.py
Das 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.6
die 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 jessie
auf 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
python3
Symlink in/usr/local/bin
Das Debian
python3
-Systempaket hatte symbolische Links installiert in/usr/bin
/usr/local/bin
war früher in meinem$PATH
als 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 debconf
funktionierte er nach einem python3
Aufruf 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.