首页 > 解决方案 > Debian软件包从Git安装依赖关系?

问题描述

我有一个 Python 包,需要安装另一个包。该软件包可以从其他人的 github 页面下载。我需要把我的包变成一个 .deb 文件。我目前正在使用 stdeb 执行此操作。是否可以这样做,当我的 deb 文件正在安装时,它也会从 git 下载文件并执行“pip install”。在他们的 setup.py 上?

标签: pythongitdebianpackagingdebian-packaging

解决方案


Debian 软件包应该是自包含的。您不知道在安装软件包时远程 Git 服务器将存在并且它将包含您想要的内容(例如,它们可能已被删除或替换为恶意内容)。您甚至不一定知道那时您将拥有网络连接。

即使在您的环境中,您确实知道 Debian 软件包并不期望这样,所以您通过 Git 下载并使用 using 生成的文件pip不会被您的软件包删除,从而在用户系统上留下垃圾。这意味着未来的软件包安装可能会由于这种剩余的垃圾而中断,从而导致难以调试的错误。

可以通过使用postinst脚本来完成,但绝对不是一个好主意。您需要将依赖项打包到另一个 Debian 包中,或者使用开发人员页面中的现有包。


推荐阅读