apt-get break: Немає модуля з іменем debian.deb822


21

sys.path:

['/ usr / lib / update-notifier', '/usr/local/lib/python26.zip', '/usr/local/lib/python2.6', '/usr/local/lib/python2.6/ plat-linux3 ',' /usr/local/lib/python2.6/lib-tk ',' /usr/local/lib/python2.6/lib-old ',' /usr/local/lib/python2.6 / lib-dynload ',' /usr/local/lib/python2.6/site-packages ']
terry@terrylaptop:/usr/lib$ sudo apt-get install python-debian
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-debian is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 239 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up update-notifier-common (0.119ubuntu8.6) ...
Traceback (most recent call last):
  File "/usr/lib/update-notifier/package-data-downloader", line 26, in <module>
    import debian.deb822
ImportError: No module named debian.deb822
dpkg: error processing update-notifier-common (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of flashplugin-installer:
 flashplugin-installer depends on update-notifier-common (>= 0.119ubuntu2); however:
  Package update-notifier-common is not configured yet.
dpkg: error processing flashplugin-installer (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
   Errors were encountered while processing:
 update-notifier-common
 flashplugin-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ця проблема виникає щоразу, коли я намагаюся використовувати apt-get install для оновлення Ubuntu. Я 12.04.01 LTS.

Я також встановив python-debian за цим посиланням: http://pkgs.org/ubuntu-12.04/ubuntu-main-i386/python-debian_0.1.21ubuntu1_all.deb.html Але це не працює.

Може хтось мені допоможе? Велике спасибі. Я googled, але, схоже, це має бути виправлено у старій версії.

terry@terrylaptop:/usr/lib$ sudo apt-get install dolphin
Reading package lists... Done
Building dependency tree       
Reading state information... Done
dolphin is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 239 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up update-notifier-common (0.119ubuntu8.6) ...
['/usr/lib/update-notifier', '/usr/local/lib/python26.zip', '/usr/local/lib/python2.6', '/usr/local/lib/python2.6/plat-linux3', '/usr/local/lib/python2.6/lib-tk', '/usr/local/lib/python2.6/lib-old', '/usr/local/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/site-packages']
Traceback (most recent call last):
  File "/usr/lib/update-notifier/package-data-downloader", line 29, in <module>
    import debian.deb822
ImportError: No module named debian.deb822
dpkg: error processing update-notifier-common (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of flashplugin-installer:
 flashplugin-installer depends on update-notifier-common (>= 0.119ubuntu2); however:
  Package update-notifier-common is not configured yet.
dpkg: error processing flashplugin-installer (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error   from a previous failure.
                                                                                                          Errors were encountered while processing:
 update-notifier-common
 flashplugin-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)
terry@terrylaptop:/usr/lib$ ls /usr/local/lib/python2.6/debian.deb822.py 
/usr/local/lib/python2.6/debian.deb822.py

terry@terrylaptop:/usr/lib$ cat /usr/local/lib/python2.6/debian.deb822.py
import warnings

warnings.warn("please use 'debian.deb822' instead", DeprecationWarning,
              stacklevel=2)

from debian.deb822 import *

Ви можете бачити, що debian.deb822 в /usr/local/lib/python2.6, але все ще не можете його знайти.

------ останнє оновлення 2/20 ----------------

terry@terrylaptop:/usr/local/bin$ ls -l /usr/bin/py*
-rwxr-xr-x 1 root root  3752 May  2  2012 /usr/bin/py3_compilefiles
-rwxr-xr-x 1 root root 97759 May  2  2012 /usr/bin/pycentral
-rwxr-xr-x 1 root root  4124 Apr 18  2012 /usr/bin/pyclean
-rwxr-xr-x 1 root root 11933 Apr 18  2012 /usr/bin/pycompile
-rwxr-xr-x 1 root root  3723 May  2  2012 /usr/bin/py_compilefiles
lrwxrwxrwx 1 root root     8 Apr 27  2012 /usr/bin/pydoc -> pydoc2.7
-rwxr-xr-x 1 root root    79 Aug  1  2012 /usr/bin/pydoc2.7
lrwxrwxrwx 1 root root    12 Apr 27  2012 /usr/bin/pygettext -> pygettext2.7
-rwxr-xr-x 1 root root 22103 Aug  1  2012 /usr/bin/pygettext2.7
-rwxr-xr-x 1 root root   217 Mar  9  2012 /usr/bin/pyhtmlizer
lrwxrwxrwx 1 root root    24 Feb 20 07:24 /usr/bin/python -> /usr/loca/bin/python2.7
lrwxrwxrwx 1 root root    24 Jun 14  2012 /usr/bin/python2 -> /usr/local/bin/python2.6
lrwxrwxrwx 1 root root    24 Jun 14  2012 /usr/bin/python2.6 -> /usr/local/bin/python2.6
lrwxrwxrwx 1 root root    29 Apr 27  2012 /usr/bin/pyversions -> ../share/python/pyversions.py

terry@terrylaptop:/usr/local/bin$ ls -l /usr/local/bin/py*
-rwxrwxr-x 1 root root      84 Feb 20 07:21 /usr/local/bin/pydoc
lrwxrwxrwx 1 root root      24 Feb 20 07:31 /usr/local/bin/python -> /usr/local/bin/python2.7
lrwxrwxrwx 1 root root       9 Feb 20 07:23 /usr/local/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 4610075 Jun 14  2012 /usr/local/bin/python2.6
-rwxr-xr-x 1 root root    1424 Jun 14  2012 /usr/local/bin/python2.6-config
-rwxr-xr-x 1 root root 4917197 Feb 20 07:22 /usr/local/bin/python2.7
-rwxr-xr-x 1 root root    1624 Feb 20 07:23 /usr/local/bin/python2.7-config
lrwxrwxrwx 1 root root      16 Feb 20 07:23 /usr/local/bin/python2-config -> python2.7-config
lrwxrwxrwx 1 root root      14 Feb 20 07:23 /usr/local/bin/python-config -> python2-config

Я досі не можу встановити. Sys.path:

['/usr/lib/update-notifier', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

------ 2013/2/22 оновлення ---------------

terry@terrylaptop:/data$ sudo apt-get install python2.7
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python2.7 is already the newest version.
The following packages were automatically installed and are no longer required:
  libnepomukdatamanagement4 libkexiv2-10 libkdegames5a libboost-program-options1.46.1 libkdecorations4 libkwinglutils1 libnepomuksync4  libokularcore1abi1 libssl0.9.8 libattica0.3 liblastfm0 libkwineffects1abi3
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
5 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.

Чому у вас таке: "0 оновлено, 0 знову встановлено, 0 для видалення та 239 не оновлено ."?

@ vasa1, Тому що він уже встановлений, або через те, що менеджер пакунків не працює. Подивіться на кілька рядків більше, і ми бачимо, що менеджер пакунків зламаний. Ми не зможемо виправити менеджер пакунків, щоб я оновив його через менеджер пакунків. Нам доведеться завантажити виправлення та виправити його вручну.
ctrl-alt-delor

робить це те ж саме при встановленні пакетів, які не є debian? Якщо так, ви можете оновити питання, щоб зробити його більш загальним. (Ви можете отримати більше відповідей).
ctrl-alt-delor

У нас точно така ж проблема на сервері, яку ми оновили з 9.10 -> 10.04 і тепер до 12.04 і отримали цю проблему. Я не робив оновлення, тому я не знаю, де воно зламалося, його слід легко виправити вручну, оскільки його просто модуля python відсутнє (у системі посилання 12.04 є "/usr/lib/python2.7/dist-packages/debian" який містить посилання на різні модулі в "/ usr / share / pyshared", deb822 серед інших, в той час як у зламаній системі папка debian несеться.
Ернеллі,

Привіт, я додав більше інформації про налагодження для кращого:
Террі,

Відповіді:


16

Спробуйте перевстановити пакет, який повинен містити debian.deb822:

sudo apt-get --reinstall install python-debian

14

У моєму випадку мені довелося видалити всі конфліктуючі пакети , такі як update-notifier, update-notifier-commonі т.д. , і тоді я побіг:

sudo apt install --reinstall python-debian python3-debian python-chardet python3-chardet

2
Це єдине рішення, яке спрацювало для мене після спробу всіх інших (і включаючи це: askubuntu.com/questions/812375/… )
slhck

Ця відповідь спрацювала і для мене. Я почав отримувати цю помилку незабаром після того, як я встановив python3 ... update-notifier підхопив існування python3, але не зміг завершити, оскільки в ньому були відсутні необхідні залежності. Довелося бігати sudo apt install python3-debian python3-chardet python3-sixі все добре.
theJoeBiz

8

Я використовую команду apt-get remove для видалення поширеного оновлення-сповіщувача , flashplugin-installer, а потім вирішення проблеми.

Ось команда:

sudo apt-get remove  update-notifier-common flashplugin-installer

так, але це більше схоже на вирішення проблеми, і тоді у вас немає оновлюваного спалаху, ані повідомлення про оновлення більше немає
Huafu

дуже добре зроблено. Це все ще працює.
Акаш Кандпал

5

У мене були встановлені і python 2.6 та 2.7, тому мені потрібно було перейти на 2.7, де було debian.deb822

sudo update-alternatives --config python

це працювало і для мене, і я 14.04
Хуафу

3

Ви, ймовірно, вилучили пакунок debian python, запустіть ці команди, щоб перевстановити python-debian і після цього встановити пакет оновлення-повідомлення.

sudo apt-get remove  update-notifier-common
sudo apt-get autoremove
sudo apt-get --reinstall install python-debian
sudo apt-get install  update-notifier

3

У моєму випадку те, що виправлено це на ubuntu 16.04 (проблема все ще залишається багато років з моменту початкової публікації), - це виправити посилання на python:

cd /usr/bin
sudo ln -sf python3.6 python3
sudo ln -sf python3 python

Отже, тепер у мене є:

/usr/bin# ls -l python python3
lrwxrwxrwx 1 root root 7 Jun 29 15:33 python -> python3
lrwxrwxrwx 1 root root 9 Jun 29 15:38 python3 -> python3.6

Раніше python3вказував на python3.5. Одного разу я знову пов’язав це з python3.6 aptроботою.

На даний момент у мене встановлені питони 2.7, 3.5 та 3.6, встановлені поруч.


Вирішили це для мене. У мене була проблема після установки , python3.7який мав python3точку python3.7замістьpython3.6
Emonadeo

2

Моє рішення

apt-get --reinstall install python-chardet

Анатомія випуску

на моїй платформі dpkg -L python-chardetзаявили, що python-chardetбудуть використовувати ці файли:

# dpkg -L python-chardet
/.
/usr
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/chardet.1.gz
/usr/share/doc
/usr/share/doc/python-chardet
/usr/share/doc/python-chardet/history.html
/usr/share/doc/python-chardet/css
/usr/share/doc/python-chardet/css/chardet.css
/usr/share/doc/python-chardet/faq.html
/usr/share/doc/python-chardet/images
/usr/share/doc/python-chardet/images/tip.png
/usr/share/doc/python-chardet/images/note.png
/usr/share/doc/python-chardet/images/permalink.gif
/usr/share/doc/python-chardet/images/warning.png
/usr/share/doc/python-chardet/images/caution.png
/usr/share/doc/python-chardet/images/important.png
/usr/share/doc/python-chardet/index.html
/usr/share/doc/python-chardet/how-it-works.html
/usr/share/doc/python-chardet/usage.html
/usr/share/doc/python-chardet/license.html
/usr/share/doc/python-chardet/changelog.Debian.gz
/usr/share/doc/python-chardet/copyright
/usr/share/doc/python-chardet/supported-encodings.html
/usr/bin
/usr/bin/chardet
/usr/lib
/usr/lib/python2.7
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/chardet
/usr/lib/python2.7/dist-packages/chardet/langcyrillicmodel.py
/usr/lib/python2.7/dist-packages/chardet/mbcharsetprober.py
/usr/lib/python2.7/dist-packages/chardet/test.py
/usr/lib/python2.7/dist-packages/chardet/charsetgroupprober.py
/usr/lib/python2.7/dist-packages/chardet/utf8prober.py
/usr/lib/python2.7/dist-packages/chardet/langgreekmodel.py
/usr/lib/python2.7/dist-packages/chardet/hebrewprober.py
/usr/lib/python2.7/dist-packages/chardet/langhebrewmodel.py
/usr/lib/python2.7/dist-packages/chardet/escprober.py
/usr/lib/python2.7/dist-packages/chardet/mbcssm.py
/usr/lib/python2.7/dist-packages/chardet/jpcntx.py
/usr/lib/python2.7/dist-packages/chardet/codingstatemachine.py
/usr/lib/python2.7/dist-packages/chardet/gb2312prober.py
/usr/lib/python2.7/dist-packages/chardet/latin1prober.py
/usr/lib/python2.7/dist-packages/chardet/euctwprober.py
/usr/lib/python2.7/dist-packages/chardet/escsm.py
/usr/lib/python2.7/dist-packages/chardet/universaldetector.py
/usr/lib/python2.7/dist-packages/chardet/langbulgarianmodel.py
/usr/lib/python2.7/dist-packages/chardet/gb2312freq.py
/usr/lib/python2.7/dist-packages/chardet/langthaimodel.py
/usr/lib/python2.7/dist-packages/chardet/constants.py
/usr/lib/python2.7/dist-packages/chardet/eucjpprober.py
/usr/lib/python2.7/dist-packages/chardet/euctwfreq.py
/usr/lib/python2.7/dist-packages/chardet/jisfreq.py
/usr/lib/python2.7/dist-packages/chardet/sbcharsetprober.py
/usr/lib/python2.7/dist-packages/chardet/mbcsgroupprober.py
/usr/lib/python2.7/dist-packages/chardet/__init__.py
/usr/lib/python2.7/dist-packages/chardet/sjisprober.py
/usr/lib/python2.7/dist-packages/chardet/euckrprober.py
/usr/lib/python2.7/dist-packages/chardet/langhungarianmodel.py
/usr/lib/python2.7/dist-packages/chardet/charsetprober.py
/usr/lib/python2.7/dist-packages/chardet/chardistribution.py
/usr/lib/python2.7/dist-packages/chardet/sbcsgroupprober.py
/usr/lib/python2.7/dist-packages/chardet/big5freq.py
/usr/lib/python2.7/dist-packages/chardet/big5prober.py
/usr/lib/python2.7/dist-packages/chardet/euckrfreq.py
/usr/lib/python2.7/dist-packages/chardet-2.0.1.egg-info

але проблема полягає в тому, що жодне з них не існувало:

# ls /usr/lib/python2.7/dist-packages/chardet
ls: cannot access /usr/lib/python2.7/dist-packages/chardet: No such file or directory

Ще один тест, який ви можете зробити

Ви також можете перевірити шардет, використовуючи двійковий код:

/usr/bin/chardet

Якщо він видає щось подібне, вікно порушується :

# /usr/bin/chardet 
Traceback (most recent call last):
  File "/usr/bin/chardet", line 26, in <module>
    import chardet
ImportError: No module named chardet

Моє оригінальне повідомлення про помилку:

root@odroid:/etc/nagios# apt-get install  update-notifier             
Reading package lists... Done Building dependency tree        Reading
state information... Done update-notifier is already the newest
version. 0 upgraded, 0 newly installed, 0 to remove and 5 not
upgraded. 4 not fully installed or removed. After this operation, 0 B
of additional disk space will be used. Do you want to continue? [Y/n] 
Setting up update-notifier-common (0.154.1ubuntu1) ... Traceback (most
recent call last):   File
"/usr/lib/update-notifier/package-data-downloader", line 26, in
<module>
    import debian.deb822   File "/usr/lib/python2.7/dist-packages/debian/deb822.py", line 39
    import chardet
         ^ SyntaxError: invalid syntax dpkg: error processing package update-notifier-common (--configure):  subprocess installed
post-installation script returned error exit status 1 dpkg: dependency
problems prevent configuration of update-notifier:  update-notifier
depends on update-notifier-common (= 0.154.1ubuntu1); however:  
Package update-notifier-common is not configured yet.

dpkg: error processing package update-notifier (--configure): 
dependency problems - leaving unconfigured dpkg: dependency problems
prevent configuration of update-manager:  update-manager depends on
update-notifier; however:   Package update-notifier is not configured
yet.

dpkg: error processing package update-manager (--configure): 
dependency problems - leaving unconfigured dpkg: dependency problems
prevent configuration of ubuntu-release-upgrader-gtk: 
ubuntu-release-upgrader-gtk depends on update-manager; however:  
Package update-manager is not configured yet.

dpkg: error processing package ubuntu-release-upgrader-gtk
(--configure):  depenNo apport report written because the error
message indicates its a followup error from a previous failure.
                                                                                                                No apport report written because the error message indicates its a
followup error from a previous failure.
                                                                   No apport report written because MaxReports is reached already
                                                                                                                                 dency problems - leaving unconfigured Errors were encountered while
processing:  update-notifier-common  update-notifier  update-manager 
ubuntu-release-upgrader-gtk E: Sub-process /usr/bin/dpkg returned an
error code (1)

тому, як я вже говорив вище, просто перевстановіть шардет:

apt-get --reinstall install python-chardet

я насправді не люблю правки Волкера Зігеля. Я навмисно використовую нижню букву.
qknight

0

Для мене це було вирішено, встановивши python-debianпакет для python3:

sudo apt install python3-debian
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.