【问题标题】:Python: incorporate git repo in projectPython:在项目中合并 git repo
【发布时间】:2018-06-19 14:00:14
【问题描述】:

将 git 存储库合并到 包含 setup.py 的自己的项目中的最佳做法是什么?我可以想象有几种方法,但似乎不清楚哪种方法最好。

  1. 复制相关代码并包含到自己的项目中

    专业人士:

    • 只使用相关代码,

    骗局:

    • git repo 可能会更新
    • 需要再次为每个项目执行此操作
    • 感觉像是在偷东西
  2. 克隆存储库并编写 setup.py 并使用 pip 安装它

    专业人士:

    • 简单
    • 包可以更新
    • 可以像使用任何普通 pip 包一样使用包

    骗局:

    • 感觉怪怪的
  3. 克隆存储库并将路径添加到项目的搜索路径中

    专业人士:

    • 简单
    • 包可以更新

    骗局:

    • 需要调整搜索路径也感觉怪怪的

【问题讨论】:

    标签: python git pip


    【解决方案1】:

    在我看来,您忘记了最佳选择:请原始项目维护者通过pip 提供该软件包。由于 pip 可以直接从 git 存储库安装,因此只需 setup.py 即可 - 特别是,您不需要 PyPI 帐户,不需要标记发布等。

    如果这不可能,那么我会选择您的第二个选项,即在项目的分支中提供我自己的 setup.py 文件。这使得合并上游更改变得非常容易(基本上您只需从上游存储库中 git pull 它们)并为您提供包管理的所有好处(自动安装、依赖管理等)。

    【讨论】:

    • 我在考虑神经网络架构的实现。通常有一堆不同的项目/回购实现它们。我认为要求他们通过 pip 提供它会很快使 PyPl 混乱(关于这方面)
    • 正如我所写,通过pip 安装not 需要在 PyPI 上注册包——pip 可以完美地安装来自 git 存储库的包。除此之外,如果人们坚持使用合适的包名称,我认为混乱的 PyPI 不是问题。
    猜你喜欢
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 2014-02-16
    相关资源
    最近更新 更多