Debian 中相当于 Python 中用于管理包的“requirements.txt”是什么?

问题描述 投票:0回答:2

我正在发布一个用于在 Debian 服务器上部署的 Python 应用程序。在安装应用程序时,提供包含所有所需 Python 包列表的

requirements.txt
文件非常方便,特别是当伴随着
Makefile
使用
pip
自动安装时。

但是正如你所知,一些 Python 软件包依赖于 Linux 系统软件包(本例中为 Debian),如果我可以在我的项目中提供一个类似的文件来一步安装它们,并定义

Makefile
规则,那就太好了使其自动化。

dpkg
apt
提供这样的功能吗?

python linux debian pip dpkg
2个回答
1
投票

您当然可以转储

dpkg
安装的所有软件包,但这可能不是您想要做的 - 您最终会得到数千个与您的软件无关的软件包,并且可能会破坏系统(如果它是不同的 debian 版本) .

我的建议是将你的软件安装到一台新的 Debian 机器上,并尝试

pip install
requirements.txt
中的所有内容。由于 python 软件包安装失败(由于缺少 debian 软件包),请创建一个文本文件,其中包含所需 debian 软件包的换行符分隔列表。

然后,只需在每个新系统上

cat my-deb-dependencies | xargs apt-get install

这需要一些手动工作 - 我认为没有一种可靠的自动化方法。


1
投票

将发行版打包(apt)与 python 打包(pip)混合在一起会令人困惑;如果可能的话,通过分发提供的包来满足您的依赖关系。然后使用 Debian 的打包方法进行打包,在

debian/control
文件的 Depends: 部分中声明依赖关系。

Debian Python 指南上提供了大量信息。

© www.soinside.com 2019 - 2024. All rights reserved.