web-dev-qa-db-ja.com

lsb_release-文字列をfloatに変換できませんでした: '8.04 LTS'

lsb_releaseコマンドに依存するすべてのものがコンピューターで動作していません。

例:

pip install numpy

raise subprocess.CalledProcessError(code、cmd、stdout、stderr)subprocess.CalledProcessError:コマンド 'lsb_release -a'がゼロ以外の終了ステータス1を返しました

そして実際、lsb_release -aはエラーを生成します

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'

python '8.04 LTS'floatに変換できないことを知っていますが、なぜこれが起こっているのですか。

lsb_releasepython-pipの両方を再インストールしようとしましたが、これで問題は解決しません。

私はUbuntu 16.04 LTSにいます。何か助け?

1
Ghilas BELHADJ

VMの1つで同じエラーが発生し、他の2つとハイパーバイザーは問題ありませんでした。同じリリース(16.04.3)、それが原因の手掛かりではありません。これは既知のバグです。

安心しました こちら

ファイル/usr/share/pyshared/lsb_release.py行41を次から変更します。

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

に:

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

私の問題を修正しました。 UbuntuバグラウンチパッドでSHIINA Hideaki(shiina)に感謝します。ここに再投稿しています。

2