使用 apt-get 安装比 Ubuntu 版本更新的软件包

使用 apt-get 安装比 Ubuntu 版本更新的软件包

我一直在尝试使用运行 14.04 的 Amazon Ubuntu 实例,并使用 python3-pandas 包,此版本的版本为 0.13.1,远远落后于当前版本 0.16.2。我的问题是如何获取更新的版本 - 理想情况下使用 1) 找出其他依赖项的包管理器和 2) 使用二进制包,这样我就不必从源代码进行编译?

当我看着packages.ubuntu.com我看到了针对未来 Ubuntu 版本提出的一些 python3-pandas 版本。例如,wily 使用 0.15.0,我可以在此站点获取源包。

我也曾在以下位置偶然发现过二进制包:launchpad.net

以下是我迄今为止尝试过的方法:

  1. 我可以从上面提到的 launchpad.net 下载 .deb 文件,然后尝试使用 进行安装dpkg -i。由于缺少依赖项,此操作按预期失败。我可能也可以找到它们、下载并安装,但似乎应该有更好的方法。
  2. pandas 网站提供了说明sudo add-apt-repository ppa:pythonxy/pythonxy-devel && sudo apt-get update,然后是sudo apt-get install python-pandas,但这似乎不起作用。看起来 pythonxy ppa 没有 python3 版本的 pandas?

看来我需要做的是告诉 apt-get 有关 launchpad.net 上似乎存在的软件包存储库的信息。但我似乎不知道该怎么做。

答案1

我以前遇到过类似的问题。有两种可能的解决方案:

使用 pip

pip 是 Python 的包管理器。使用 pip${version} 可以安装特定 Python 版本的包。
关于 pip 的一般信息
安装 pip(基本上sudo apt-get install pip

还有一些方法可以为所有用户(以 root 身份)安装软件包,或者仅在本地安装。

向后移植

如果您出于任何原因需要 .deb 软件包(例如,如果其他用户想要从存储库下载您的产品以及存储库中的所有依赖项),您可以从 Wily “反向移植”软件包。这意味着构建(源)软件包及其所有依赖项,并将它们放入 PPA/请求反向移植到 Trusty(反向移植软件包源)。

使用反向移植要求/做出这些

几天前我为该包做了后者python-cryptography。您需要一个 launchpad.net 帐户和你需要 GPG 密钥。您必须创建一个 PPA(例如“python-pandas-backport”)。然后只需点击第二个链接即可。我做了一个requestbackport -d trusty <package>,然后您会得到一个文本文件,其中包含命令backportpackage

您在另一个窗口中输入backportpackage命令。这通常非常简单。然后您可以在启动板上检查您的 PPA,以查看构建失败的原因/是否失败。这就是我找到依赖项的方法,对于所有这些包,我重复了上述过程(请注意,使用相同的 PPA)。如果您知道依赖项,您可以先将它们反向移植。

然后,您就可以使用您自己的 PPA 中的软件包,其他人也可以。如果您请求反向移植,它们可能会进入 Trusty。但这可能需要一段时间(Wily 将在一个月内发布,所以现在是关键时刻)。

相关内容