web-dev-qa-db-ja.com

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

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
2
William Horne

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

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

最終的に/usr/lib/python3/dist-packages/debconf.pyに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に表示されます。おそらくシンボリックリンクの代わりにコピーすることができます。とにかく、それは私がしたことであり、それは私のために働いた-あなたが同じような運を持っていることを願っています!

4
Wayne Werner

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

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

  • 私の手動v3.5インストールでは、そのpython3シンボリックリンクが/usr/local/binに配置されていました。

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

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

したがって、この特定の問題を修正するには、/usr/local/bin/python3シンボリックリンクの名前を/usr/local/bin/python3-localに変更するだけで、import debconfの呼び出し後にpython3が正常に機能しました。

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

0
hBy2Py