首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >14.04升级python后Apt中断-没有名为“lsb_release”的模块

14.04升级python后Apt中断-没有名为“lsb_release”的模块
EN

Unix & Linux用户
提问于 2014-12-18 20:28:54
回答 2查看 9.3K关注 0票数 5

我最近需要一个项目更新版本的Python3,所以我从源代码中构建了它;我相信我弄得一团糟。所有基于apt的操作现在都以以下错误结尾:

代码语言:javascript
复制
(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)

我相信英伟达的错误与其说是问题,不如说是症状。这是在我试图添加一个源时发现的,并遇到了以下情况:

代码语言:javascript
复制
sudo: add-apt-repository: command not found

我很乐意将此框升级到14.10,但所有基于升级的命令都返回相同的lsb_release消息。对恢复包管理能力有什么建议吗?

编辑:使用python路径信息进行更新

代码语言:javascript
复制
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
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2014-12-19 07:18:10

Ubuntu14.04也为python2.7安装了lsb_release.py文件,而lsb_release似乎也适用于python2.7。您可以尝试这样做:

代码语言:javascript
复制
python2.7 /usr/bin/lsb_release

如果这样做有效,对文件/usr/bin/lsb_release进行备份,并将第一行更改为:

代码语言:javascript
复制
#! /usr/bin/python2.7

(您可以尝试使用-Es选项,我会将它们排除在外)。

一旦您可以再次运行apt-get,请重新安装python3及其依赖项。您可以通过使用apt-cache depends python3确定直接依赖关系,并使用apt-rdependsreverse-depends (都必须安装)来递归地获取依赖关系。

票数 5
EN

Unix & Linux用户

发布于 2017-02-22 13:56:00

很可能您已经将默认python重写为自定义版本。

代码语言:javascript
复制
head /usr/bin/lsb_release

看看头上有什么。强制它使用特定的python版本(如/usr/bin )应该可以解决这个问题。

在我的例子中,如果它用/usr/bin/python编写/usr/bin/lsb_release,那么将它更改为

代码语言:javascript
复制
/usr/bin/python2.7

0/w,改为

代码语言:javascript
复制
/usr/bin/python3.4
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/174933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档