GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Lsb_release - ¿No se pudo convertir la cadena en flotante:'8.04 Lts'?

Todo lo que depende del lsb_release el comando no funciona en mi computadora.

ejemplo:

pip install numpy

aumentar subproceso.CalledProcessError(code, cmd, stdout, stderr) subproceso.CalledProcessError:el comando 'lsb_release -a' devolvió un estado de salida distinto de cero 1

Y de hecho, lsb_release -a genera un error

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'

Sé que en python '8.04 LTS' no se puede convertir a un float , pero ¿por qué sucede esto?

Intenté reinstalar ambos lsb_release y python-pip pero esto no soluciona el problema.

Estoy en Ubuntu 16.04 LTS .
¿alguna ayuda?

Respuesta aceptada:

Tuve el mismo error en una de mis máquinas virtuales, las otras 2 y el hipervisor estaban bien. Mismo lanzamiento (16.04.3), ni idea de qué lo causó. Es un error conocido.

Tengo algo de alivio aquí

Modifique el archivo /usr/share/pyshared/lsb_release.py línea 41 desde:

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

a:

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

Me solucionó el problema. Crédito completo a SHIINA Hideaki (shiina) en Ubuntu bug launchpad. Solo lo estoy volviendo a publicar aquí.


Ubuntu
  1. Agregue una cadena de prefijo al comienzo de cada línea

  2. Agregar una línea a un archivo solo si aún no existe

  3. agregue una línea a un archivo SOLAMENTE si aún no está en el archivo

  4. cómo restringir la longitud de la cadena presente en una línea usando Linux

  5. Convierta los finales de línea de Unix a Windows

Convierta nombres de archivo a minúsculas a través de la línea de comandos de Ubuntu

¿Leer un archivo orientado a líneas que puede no terminar con una nueva línea?

¿Cómo pasar una cadena (no un archivo) a Openssl?

Pip3 ¿Dependencia faltante?

¿Cómo convertir un archivo de Excel en un archivo Calc desde la línea de comandos?

¿Asociación de archivo a aplicación no listada?