【问题标题】:Python projects - inherit common dependencies from a "parent" dependency filePython 项目 - 从“父”依赖文件继承公共依赖项
【发布时间】:2019-12-19 19:46:42
【问题描述】:

我有许多共享一些常见依赖项的 python 应用程序(单独的 git repos)。我想要某种父依赖文件,其中定义了每个依赖项,并且在每个 python 应用程序中我可以简单地引用这个父文件并使用这些依赖项。

来自 Java/Maven 背景,我之前使用父 pom(在单独的 git repo 和版本化)中完成了此操作,它定义了 dependencyManagement 中的所有依赖项,然后每个应用程序都依赖于这个父级,然后确保所有的依赖项和版本被继承到每个应用程序。

在 Python 生态系统中是否有类似的方法?

编辑:还有一种方法可以覆盖依赖项以在您的应用程序中使用特定版本吗?

【问题讨论】:

    标签: python maven dependencies dependency-management pypi


    【解决方案1】:

    是的,下面是base.txt 包含常见的pip依赖:

    Pillow>=5.0
    pynput>=1.4
    

    然后linux.txt 包含以下内容:

    -r base.txt
    PyGObject>=3.32
    python-xlib>=0.17
    

    要同时安装两者,您只需调用:

    pip install -r linux.txt
    

    【讨论】:

    • base.txt 是否在项目的根目录中?我希望 base.txt 被版本化并在 git 中作为标签/或在工件存储库中。然后在linux.txt 中引用该版本。这可能吗?
    • 我想您可以将 base.txt 重命名为 base-tag.txt,但这不是一个优雅的解决方案。您可以使用 -e 设置确切的路径,但不确定要求文件。检查docs
    • 是的,我检查了文档,似乎约束文件可以工作,但文档总是引用本地文件(如您的示例中),但我需要引用远程文件,例如 git url 或工件依赖项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 2012-08-27
    • 2021-02-12
    • 2016-02-18
    • 2023-03-29
    • 1970-01-01
    • 2022-12-22
    相关资源
    最近更新 更多