Python setup.py 克隆子文件夹并将其用作源代码

Python setup.py clone the subfolder and use it as source code

Python 项目大量使用来自另一个存储库的通用声明。

from *another_repository*.common import *class1*, *class2*.

如何将此类文件夹正确集成到自己的存储库中,而不将其本身复制到当前项目中? 在 setuptools.setup 中有一个像 install_requires 这样的字段。我尝试了下一个选项:

install_requires = [..., 'another_repository @ git+ssh://git@gitlab.com/another_repository@master&subdirectory=common', ...]

但它不起作用,因为 common 文件夹不包含任何 setup.py 模块。

如评论中所述,通过思考问题,我找到了下一个可能的解决方案:

  1. 将所有通用代码从 another_repository/common(数据类、例程等)迁移到另一个存储库 common_repository,并将其用作依赖项。
  2. 使用 repo 作为当前项目的子模块。
  3. another_repository/common 贡献一个 setup.py,使其可安装。