14.04でPythonをアップグレードした後、Aptが破損しました。 "lsb_release"というモジュールはありません。

14.04でPythonをアップグレードした後、Aptが破損しました。 "lsb_release"というモジュールはありません。

最近のプロジェクトの1つには更新されたPython3バージョンが必要だったため、ソースからビルドしたところわずかに問題が発生したようです。これで、すべてのaptベースの操作がエラーで終了します。

(Reading database ... 320897 files and directories currently installed.)
Removing nvidia-prime (0.6.2) ...
Traceback (most recent call last):
  File "/usr/bin/lsb_release", line 28, in <module>
    import lsb_release
ImportError: No module named 'lsb_release'
dpkg: error processing package nvidia-prime (--remove):
 subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
 nvidia-prime
E: Sub-process /usr/bin/dpkg returned an error code (1)

私はNVIDIAエラーが単に症状であり、問​​題ではないと思います。ソースを追加しようとしたときに、次のような状況に遭遇したときにこれを発見しました。

sudo: add-apt-repository: command not found

このボックスを14.10にアップグレードしたいのですが、すべてのアップグレードベースのコマンドは同じlsb_releaseメッセージを返します。私のパッケージ管理機能の復元に関する提案はありますか?

編集:Pythonパス情報で更新されました

lars@whorus:~/Downloads/Python-3.4.2$ ls -l /usr/bin/python*
lrwxrwxrwx 1 root root       9 Dec 18 10:36 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root       9 Apr 18  2014 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3349512 Mar 22  2014 /usr/bin/python2.7
lrwxrwxrwx 1 root root       9 Mar 23  2014 /usr/bin/python3 -> python3.4
-rwxr-xr-x 2 root root 4061272 Apr 11  2014 /usr/bin/python3.4
-rwxr-xr-x 2 root root 4061272 Apr 11  2014 /usr/bin/python3.4m
lrwxrwxrwx 1 root root      10 Mar 23  2014 /usr/bin/python3m -> python3.4m

答え1

Ubuntu 14.04にはlsb_release.pyPython 2.7用のファイルもインストールされており、lsb_releasepython2.7でも動作しているようです。次のことを試してみてください。

python2.7 /usr/bin/lsb_release

機能する場合は、ファイルをバックアップ/usr/bin/lsb_releaseし、最初の行を次のように変更します。

#! /usr/bin/python2.7

(これらのオプションを試してみることができます-Es。最初は除外します。)

もう一度実行したら、apt-getpython3とその依存関係を再インストールしてください。または(両方をインストールする必要がありますapt-cache depends python3)を使用して、依存関係を再帰的にインポートして直接依存関係を確認できますapt-rdependsreverse-depends

答え2

デフォルトのPythonをカスタムバージョンに上書きした可能性があります。

head /usr/bin/lsb_release

タイトルの内容を見てください。 /usr/bin の特定の Python バージョンに強制することで問題が解決します。

私の場合のように書くと、次のよう/usr/bin/python/usr/bin/lsb_release変更されます。

/usr/bin/python2.7

う、次に変えてください

/usr/bin/python3.4

関連情報