如何将 PyPi 依赖项添加到 DEB 包

Posted

技术标签:

【中文标题】如何将 PyPi 依赖项添加到 DEB 包【英文标题】:How to add PyPi dependencies to DEB package 【发布时间】:2012-08-25 23:29:52 【问题描述】:

我使用autobahn 创建了一些python 应用程序,并使用baazar builddeb 对其进行了打包。在 python setup.py 文件中,我添加了带有所有必需依赖项的 requires 标签。是否可以告诉 debian 软件包安装程序安装这些软件包?

我向debian/control>Depends 添加了一些部门,但是:

    dpkg -i my_package 不安装依赖项。只是显示错误,我需要手动安装这些dep。

    标准 Ubuntu 存储库中不存在某些软件包。例如高速公路。总的来说,我希望通过pip/easy_install

    安装所有 python 依赖项

我正在使用 DistUtilsExtra.auto.setup 和个性化的 install 操作。所以我想我可以在那里运行easy_install packages。这是个好主意吗?

谢谢。

【问题讨论】:

我认为混合不同的包装系统不是一个好主意。可能更简洁的方法是将这些依赖项包含到 .deb 中,以便它们随您的程序一起提供。 dpkg -i 不会尝试安装所需或依赖的软件包。您需要使用apt-getaptitude 进行安装。 【参考方案1】:

使用 python-stdeb 包从 pypi 创建 debian 包,然后像任何其他包一样依赖它们。

见http://pypi.python.org/pypi/stdeb

【讨论】:

或者,使用 fpm:github.com/jordansissel/fpm。它还可以从 python 包构建 rpm 或 solaris 包。 另见:Pybuild,一个来自 Debian 的新的、令人惊叹的工具,它取代了 stdeb

以上是关于如何将 PyPi 依赖项添加到 DEB 包的主要内容,如果未能解决你的问题,请参考以下文章

如何列出/下载 debian 包的递归依赖项?

如何声明对 .deb 包的非 .deb 二进制依赖?

创建 .deb 安装程序时如何安装依赖项?

如何将 .deb 的所有依赖项放到磁盘上?

如何从 PyPi 包中提取依赖项

如何使用 git repos 作为我的 PyPi 包的依赖项?