问题描述
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
模块。
解决方法
正如评论中提到的,通过思考问题,我找到了下一个可能的解决方案:
- 将所有公共代码从
another_repository/common
(数据类、例程等)迁移到另一个存储库common_repository
,并将其用作依赖项。 - 使用存储库作为当前项目的子模块。
- 将 setup.py 贡献给
another_repository/common
,使其可安装。