GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Lsb_release – String konnte nicht in Float konvertiert werden:„8.04 Lts“?

Alles was vom lsb_release abhängt Befehl funktioniert auf meinem Computer nicht.

Beispiel:

pip install numpy

raise subprocess.CalledProcessError(code, cmd, stdout, stderr) subprocess.CalledProcessError:Der Befehl „lsb_release -a“ hat den Exit-Status 1 ungleich Null zurückgegeben

Und tatsächlich lsb_release -a erzeugt einen Fehler

File "/usr/bin/lsb_release", line 95, in <module>
    main()
  File "/usr/bin/lsb_release", line 59, in main
    distinfo = lsb_release.get_distro_information()
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 383, in get_distro_information
    distinfo = guess_debian_release()
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 281, in guess_debian_release
    get_distro_info(distinfo['ID'])
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 41, in get_distro_info
    RELEASES_ORDER.sort(key=lambda n: float(n[0]))
  File "/usr/lib/python3/dist-packages/lsb_release.py", line 41, in <lambda>
    RELEASES_ORDER.sort(key=lambda n: float(n[0]))
ValueError: could not convert string to float: '8.04 LTS'

Ich kenne das in Python '8.04 LTS' kann nicht in ein float umgewandelt werden , aber warum passiert das.

Ich habe versucht, beide lsb_release neu zu installieren und python-pip aber das behebt das Problem nicht.

Ich verwende Ubuntu 16.04 LTS .
Hilfe ?

Akzeptierte Antwort:

Ich hatte den gleichen Fehler auf einer meiner VMs, die anderen 2 und der Hypervisor waren in Ordnung. Gleiche Version (16.04.3), keine Ahnung, was es verursacht hat. Es ist ein bekannter Fehler.

Hier habe ich etwas Erleichterung erfahren

Ändern Sie die Datei /usr/share/pyshared/lsb_release.py Zeile 41 von:

RELEASES_ORDER.sort(key=lambda n: float(n[0])) 

zu:

RELEASES_ORDER.sort(key=lambda n: float(n[0].split()[0]))

Habe das Problem bei mir behoben. Vervollständigen Sie SHIINA Hideaki (shiina) auf dem Ubuntu-Bug-Launchpad. Ich poste es hier einfach erneut.


Ubuntu
  1. Fügen Sie am Anfang jeder Zeile eine Präfixzeichenfolge hinzu

  2. Zeile NUR zu einer Datei hinzufügen, wenn sie sich nicht bereits in der Datei befindet

  3. Wie man die Länge der in einer Zeile vorhandenen Zeichenfolge mit Linux einschränkt

  4. Konvertieren Sie Unix-Zeilenenden in Windows

  5. sed:Wie wird eine Zeile ersetzt, wenn sie gefunden wird, oder an das Ende der Datei angehängt, wenn sie nicht gefunden wird?

Konvertieren Sie Dateinamen über die Ubuntu-Befehlszeile in Kleinbuchstaben

Ein Programm, das Stdin oder Datei puffern könnte?

Wie übergibt man eine Zeichenfolge (keine Datei) an Openssl?

Wie konvertiere ich eine Sounddatei in Opus?

Wie konvertiere ich eine Excel-Datei über die Befehlszeile in eine Calc-Datei?

Dateizuordnung zu nicht gelisteter Anwendung?