Python包'six'命令

2024-05-16 07:01:14 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我正在进行的一个项目要求我安装six,这是一个Python2和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/deb822.py),通过删除出现“six”的行来找出问题所在(我知道这是一种非常糟糕的做法,但备份文件一直都在生成,我想看看是否可以自己修复它),但这被证明是失败的,是一次绝望的尝试

你知道怎么解决这个问题吗?任何帮助都将不胜感激


Tags: inpylibpackagesusrdistlineupdate
1条回答
网友
1楼 · 发布于 2024-05-16 07:01:14

我在更新系统时遇到了同样的问题(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

相关问题 更多 >