我最近需要一个项目更新版本的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)我相信英伟达的错误与其说是问题,不如说是症状。这是在我试图添加一个源时发现的,并遇到了以下情况:
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发布于 2014-12-19 07:18:10
Ubuntu14.04也为python2.7安装了lsb_release.py文件,而lsb_release似乎也适用于python2.7。您可以尝试这样做:
python2.7 /usr/bin/lsb_release如果这样做有效,对文件/usr/bin/lsb_release进行备份,并将第一行更改为:
#! /usr/bin/python2.7(您可以尝试使用-Es选项,我会将它们排除在外)。
一旦您可以再次运行apt-get,请重新安装python3及其依赖项。您可以通过使用apt-cache depends python3确定直接依赖关系,并使用apt-rdepends或reverse-depends (都必须安装)来递归地获取依赖关系。
发布于 2017-02-22 13:56:00
很可能您已经将默认python重写为自定义版本。
head /usr/bin/lsb_release看看头上有什么。强制它使用特定的python版本(如/usr/bin )应该可以解决这个问题。
在我的例子中,如果它用/usr/bin/python编写/usr/bin/lsb_release,那么将它更改为
/usr/bin/python2.70/w,改为
/usr/bin/python3.4https://unix.stackexchange.com/questions/174933
复制相似问题