Apt-get エラー: apt-listchanges と debconf

Apt-get エラー: apt-listchanges と debconf

次のメッセージが繰り返し表示されます:

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

デブコン

~$ 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

答え1

これはもうあなたにとっては重要ではないかもしれませんが、少なくとも私にとっては回避策を見つけました。

問題は、debconf.pyパス上で見つけることができないことです。私の場合、通常のパスとは異なる設定の別の Python を使用していました。

最終的に、 で debconf.py ファイルを見つけました/usr/lib/python3/dist-packages/debconf.py。私の場合、python3.6間違ったパスを持っていたのは でした。これは、次のようにして見つけることができます。

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

それは、私の にあるものとは違うことを示していました$PATH。あまりいじくり回すよりも、これを実行しました:

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

目的地はどこでもに表示されますsys.path。おそらく、シンボリックリンクの代わりにコピーできるでしょう。とにかく、それが私のやり方で、うまくいきました。皆さんも同じような幸運に恵まれることを願っています。

答え2

計算サーバーを Debian からjessieDebian にアップグレードしたときに、このエラーが発生し始めましたstretch

私の問題は、 にアップグレードする前に、(愚かにも)システム全体に Python 3.5 を手動でインストールしていたためstretch、そのバージョンの Python がデフォルトのstretchPython 3 インストールを「マスク」していたことです。特に、次の要因が影響していました。

  • 私の手動v3.5インストールでは、python3シンボリックリンクを/usr/local/bin

  • Debianpython3システムパッケージはシンボリックリンクをインストールしました/usr/bin

  • /usr/local/bin$PATH私のよりも早かった/usr/bin

/usr/local/bin/python3したがって、この特定の問題を解決するには、シンボリック リンクの名前を、たとえば に変更するだけで済み/usr/local/bin/python3-local、呼び出しimport debconf後に正常に動作するようになりましたpython3

より完全な解決策としては、システム全体の Python 3.5 の手動バージョンを完全にアンインストールし、サンドボックスで再インストールすることが考えられます。

関連情報