由于 Python 依赖问题,无法在 Ubuntu 17.10 上安装 GDB

由于 Python 依赖问题,无法在 Ubuntu 17.10 上安装 GDB

我必须卸载 GDB 才能升级到 17.10,但现在我无法再次安装它。

sudo apt 安装 gdb
正在读取软件包列表...完成
构建依赖关系树       
正在读取状态信息...完成
某些软件包无法安装。这可能意味着您有
请求一个不可能的情况,或者如果你正在使用不稳定
发行版中某些必需的软件包尚未创建
或已移出传入。
以下信息可能有助于解决该情况:

以下软件包具有未满足的依赖关系:
 gdb:依赖:libpython3.6(>= 3.6.0~b2)但是不会安装
E:无法纠正问题,您持有破损的包裹。

因此我分析了依赖链:

以下软件包具有未满足的依赖关系:
 libpython3.6:依赖:libpython3.6-stdlib(= 3.6.3-1ubuntu1)但需要安装 3.6.3-1+xenial2
E:无法纠正问题,您持有破损的包裹。

为什么提到了 Xenial?为什么它无法升级?

似乎 GDB 需要特定版本,而该版本与 xenial 版本不匹配。由于依赖的软件包数量众多,尝试删除该软件包几乎是不可能的libpython3.6

更多信息:

apt-cache showpkg
软件包:libpython3.6
版本:
3.6.3-1ubuntu1(/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_artful_main_binary-amd64_Packages)

apt-cache showpkg
软件包:python3.6
版本:
3.6.3-1+xenial2 (/var/lib/dpkg/status)
3.6.3-1ubuntu1(/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_artful_main_binary-amd64_Packages)

所以我猜测 APT 不知道这个+xenial2包是从哪里获得的。

答案1

在干净的 17.10 安装中,gdb 安装没有问题。

您可能有 PPA。

请检查输出

  • ls -al /etc/apt/sources.list.d/*.list(列出 PPA 来源.列表),
  • aptitude search '?narrow(?installed, ~Oppa)'(从 PPA 安装的软件包列表),
  • aptitude search '?narrow(?installed, ~o)'(过时软件包列表) - 参见这个答案以供参考。

您还可以从中查看解决方案“添加 PPA 后,如何解决未满足的依赖关系?”

更新: 看来你只是有python3.6deadsnakes 队的 PPA
http://ppa.launchpad.net/deadsnakes/ppa/ubuntu/pool/main/p/python3.6/(检查3.6.3-1+xenial2版本)。

答案2

这里的问题是,软件包版本3.6.3-1+xenial2被认为是更新3.6.3-1ubuntu1

解决办法是降级包,即使实际的 python 版本是相同的。

这是一个很奇怪的问题,因为我没有使用 N0rbert 建议的任何 PPA,并且该包被认为比主存储库更新(尽管事实并非如此)。

这可能是因为我首先在 Xenial 上安装了这个系统,这可能与我安装这个奇怪版本的原因有关。(可能是具有不同命名方案的反向移植?)

关于降级软件包:如何通过 apt-get 降级软件包?

答案3

尝试以下方法修复它:

sudo apt install python 

或者

sudo apt install python2

然后 :

sudo apt install pip

在终端中输入以下命令来安装 gdebi:

sudo add-apt-repository universe

然后 :

sudo apt-get update

然后安装 gdebi 核心:

sudo apt-get install gdebi-core

如果您想要 GDebi GUI(即更易于使用的应用程序),则需要安装 gdebi 包。

sudo apt-get install gdebi

相关内容