尝试在 ubuntu 16.04.6 上安装 python3.5-dev 时出现奇怪的错误

尝试在 ubuntu 16.04.6 上安装 python3.5-dev 时出现奇怪的错误

我正在尝试在新的 Ubuntu 机器上离线安装一些 deb 包:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:        16.04
Codename:       xenial

我在另一台计算机上递归下载了所有 deb 依赖项,然后通过 ssh 进入这台计算机(仅连接到内部网络),并尝试使用sudo apt-get install python3.5-dev

  • 我为 apt 创建了一个源文件,并覆盖了/etc/apt/sources.list其中只有我的文件:deb 文件:/home/*/*/debs ./
  • 之后我sudo apt-get update

安装流程应该如下:

  • 运行 apt-get install
  • apt 检查 sources.list
  • apt 找到我那里的 Packgez.gz 文件
  • debsapt 在目录中找到所有 deb 依赖项
  • apt 安装依赖项,然后安装实际的包

然而,由于某种原因,我得到了这个:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3.5-dev : Depends: python3.5 (= 3.5.2-2ubuntu0~16.04.9) but 3.5.2-2ubuntu0~16.04.5 is to be installed
                 Depends: libpython3.5-dev (= 3.5.2-2ubuntu0~16.04.9) but it is not going to be installed
                 Depends: libpython3.5 (= 3.5.2-2ubuntu0~16.04.9) but 3.5.2-2ubuntu0~16.04.5 is to be installed

据我所知,Ubuntu 16.04.6 实际上是 16.10 向后移植到 16.04。因此,据我所知,16.04.9 是一个较新的版本,需要依赖项才能安装。

是真的吗?这个解释让我感到困惑的是,依赖项下载是使用此命令完成的(源码) 来自一台安装了 16.04.6 版本的计算机,因此,它应该包含所有的依赖项:

$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances <your-package-here> | grep "^\w" | sort -u 

答案1

永远不要弄乱默认的 Python 版本,因为许多系统包都依赖于它们

如果你需要特定版本,请使用 pyenv

相关内容