Python 包'six' brakes apt 命令



我正在运行ubuntu 20.04.01,最近开始使用python。

我正在进行的一个项目要求我安装六个,这是一个Python 2和3兼容库。

pip show six返回我:

Name: six
Version: 1.15.0
Summary: Python 2 and 3 compatibility utilities
Home-page: https://github.com/benjaminp/six
Author: Benjamin Peterson
Author-email: benjamin@python.org
License: MIT
Location: /home/username/.local/lib/python3.8/site-packages
Requires: 
Required-by: Represent, cycler, launchpadlib

但是,每次我启动以下任何一个命令时:apt upgrade -yapt autoremove等等,我得到以下错误:

sudo apt autoremove                                     
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 2 non mis à jour.
3 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Paramétrage de update-notifier-common (3.192.30) ...
Traceback (most recent call last):
File "/usr/lib/update-notifier/package-data-downloader", line 351, in <module>
process_download_requests()
File "/usr/lib/update-notifier/package-data-downloader", line 250, in process_download_requests
for para in hook.iter_paragraphs(open(file)):
File "/usr/lib/python3/dist-packages/debian/deb822.py", line 717, in iter_paragraphs
x = cls(iterable, fields, encoding=encoding, strict=strict)
File "/usr/lib/python3/dist-packages/debian/deb822.py", line 632, in __init__
self._internal_parser(iterable, fields, strict)
File "/usr/lib/python3/dist-packages/debian/deb822.py", line 769, in _internal_parser
if isinstance(sequence, (six.string_types, bytes)):
NameError: name 'six' is not defined
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 72, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 32, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 12, in <module>
import os, glob, subprocess, os.path, time, pwd, sys, requests_unixsocket
File "/usr/lib/python3/dist-packages/requests_unixsocket/__init__.py", line 1, in <module>
import requests
File "/usr/lib/python3/dist-packages/requests/__init__.py", line 43, in <module>
import urllib3
File "/usr/lib/python3/dist-packages/urllib3/__init__.py", line 7, in <module>
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 11, in <module>
from .exceptions import (
File "/usr/lib/python3/dist-packages/urllib3/exceptions.py", line 2, in <module>
from six.moves.http_client import IncompleteRead as httplib_IncompleteRead
ModuleNotFoundError: No module named 'six'
Original exception was:
Traceback (most recent call last):
File "/usr/lib/update-notifier/package-data-downloader", line 351, in <module>
process_download_requests()
File "/usr/lib/update-notifier/package-data-downloader", line 250, in process_download_requests
for para in hook.iter_paragraphs(open(file)):
File "/usr/lib/python3/dist-packages/debian/deb822.py", line 717, in iter_paragraphs
x = cls(iterable, fields, encoding=encoding, strict=strict)
File "/usr/lib/python3/dist-packages/debian/deb822.py", line 632, in __init__
self._internal_parser(iterable, fields, strict)
File "/usr/lib/python3/dist-packages/debian/deb822.py", line 769, in _internal_parser
if isinstance(sequence, (six.string_types, bytes)):
NameError: name 'six' is not defined
dpkg: erreur de traitement du paquet update-notifier-common (--configure) :
installed update-notifier-common package post-installation script subprocess returned error exit status 
1
Aucun rapport « apport » n'a été créé car le message d'erreur indique une erreur consécutive à un échec p
récédent.
dpkg: des problèmes de dépendances empêchent la configuration de flashplugin-installer :
flashplugin-installer dépend de update-notifier-common (>= 0.119ubuntu2) ; cependant :
Le paquet update-notifier-common n'est pas encore configuré.
dpkg: erreur de traitement du paquet flashplugin-installer (--configure) :
problèmes de dépendances - laissé non configuré
dpkg: des problèmes de dépendances empêchent la configuration de ttf-mscorefonts-installer :
ttf-mscorefonts-installer dépend de update-notifier-common (>= 0.119ubuntu2) ; cependant :
Le paquet update-notifier-common n'est pas encore configuré.
dpkg: erreur de traitement du paquet ttf-mscorefonts-installer (--configure) :
problèmes de dépendances - laissé non configuré
Aucun rapport « apport » n'a été créé car le message d'erreur indique une erreur consécutive à un échec p
récédent.
Des erreurs ont été rencontrées pendant l'exécution :
update-notifier-common
flashplugin-installer
ttf-mscorefonts-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)

我已经尝试删除该包,并使用pip版本20.0.2再次安装它,但出现了相同的错误。即使系统上没有包,我也会收到错误。

我曾尝试过查看返回错误的文件(/usr/lib/python3/dist-packages/debian/deb22.py(,通过删除出现"六"的行来找出问题所在(我知道这是一种非常糟糕的做法,但备份文件一直在制作,我想看看我是否能自己修复它(,但这被证明是失败的,是一次绝望的尝试。

你知道怎么解决这个问题吗?如有任何帮助,我们将不胜感激。

试试sudo pip3 install six,这为我修复了它。显然,六个需要作为sudo用户安装。

我在更新系统时遇到了一个类似的问题(Ubuntu服务器18.04,最初安装于16.04(

# apt upgrade
Traceback (most recent call last):
File "/usr/lib/update-notifier/package-data-downloader", line 24, in <module>
import debian.deb822
File "/usr/lib/python3/dist-packages/debian/deb822.py", line 49, in <module>
import six
ModuleNotFoundError: No module named 'six'
dpkg: erreur de traitement du paquet update-notifier-common (--configure) :
installed update-notifier-common package post-installation script subprocess returned error exit status 1
dpkg: des problèmes de dépendances empêchent la configuration de ubuntu-server :
ubuntu-server dépend de update-notifier-common ; cependant :
Le paquet update-notifier-common n'est pas encore configuré.

正如forum.ubuntu-fr.org中所建议的那样,我试图清除并重新安装问题包:更新管理器、更新通知程序、更新通知通用程序。

apt purge update-manager update-notifier update-notifier-common
reboot
apt purge update-manager update-notifier update-notifier-common
apt update
apt upgrade

从这一点开始没有更多的错误。。。但当我再次尝试安装软件包更新管理器、更新通知程序和更新通知程序时,我出现了新的错误!

apt install update-manager update-notifier update-notifier-common
Des erreurs ont été rencontrées pendant l'exécution :
update-notifier-common
update-notifier
update-manager
ubuntu-release-upgrader-gtk
E: Sub-process /usr/bin/dpkg returned an error code (1)

所以我永久卸载了这些软件包。

apt purge update-manager update-notifier update-notifier-common

有关信息,请参阅/etc/apt/sources.list.的内容

# grep bionic /etc/apt/sources.list
deb http://fr.archive.ubuntu.com/ubuntu/ bionic main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ bionic universe
deb http://fr.archive.ubuntu.com/ubuntu/ bionic-updates universe
deb http://fr.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse

最新更新