【问题标题】:What does ${python3:Depends} mean in a debian source-package control file?${python3:Depends} 在 debian 源包控制文件中是什么意思?
【发布时间】:2016-09-25 16:21:21
【问题描述】:

我正在尝试从 python 包构建 .deb。为此,我必须配置一个control 文件。控制文件包含一行,您可以在其中定义包的依赖项,例如:

Depends: python-appindicator, python3-yaml (>=3.11), ${misc:Depends}, ${python3:Depends}

python3-yaml 的依赖定义很容易理解,但是${misc:Depends}${python3:Depends} 代表什么?

【问题讨论】:

    标签: python debian packaging deb


    【解决方案1】:

    这意味着在构建过程中,变量 ${python3:Depends} 将替换为该包的猜测 py3 依赖项。 dh_python3 将有助于做到这一点。它试图通过在构建目录中查找requires.txt 文件来猜测包含此类条目的包的依赖项是什么,例如debian/python-foo/usr/lib/python3.4/dist-packages/foo-0.0.1.egg-info/requires.txt,然后将其转换为类似debian 的依赖项。此外,${misc:Depends} 表示 debhelper 本身(某些 dh_* 实用程序)所涉及的此类依赖项。

    【讨论】:

    • 我的包需要一个名为 PyYAML 的依赖项。这是requirements.txtPyPi 中的名称。此软件包的 Debian 等效项称为 python3-yaml。我是否必须在control 文件中指定python3-yaml,或者如果我在requirements.txt 中有PyYAML,它是否会自动包含在内?
    • 不需要显式指定该包,它将自动从requirements.txt 转换为类似debian 的依赖项并放置而不是${python3:Depends}(如果它在那里)。对于某些例外情况,有字典文件可以帮助dh-python/usr/share/dh-python/dist/ 进行翻译。但为了获得良好的实践,建议明确设置依赖关系。
    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 2015-07-15
    • 2018-07-17
    相关资源
    最近更新 更多