Python:将git repo合并到项目中

时间:2018-06-19 14:00:15

标签: python git pip

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

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

    专业版:

    • 仅使用相关代码

    con:

    • git仓库可能已更新
    • 需要再次为每个项目执行此操作
    • 喜欢偷东西
  2. 克隆存储库并编写setup.py并使用pip进行安装

    专业版:

    • 简单
    • 软件包可以更新
    • 可以像任何 normal pip包一样使用包

    con:

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

    专业版:

    • 简单
    • 软件包可以更新

    con:

    • 需要调整搜索路径也感到很奇怪

1 个答案:

答案 0 :(得分:1)

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

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