我有一个大的 Python 3.7+ 项目,我目前正在将它拆分成多个可以单独安装的包。我最初的想法是拥有一个包含多个包的 Git 存储库,每个包都有自己的 setup.py。然而,在对谷歌进行一些研究时,我发现人们建议每个包一个存储库:(例如, Python - setuptools - 处理两个依赖包(在一个存储库中?) )。然而,没有人能很好地解释为什么他们更喜欢这种结构。
所以,我的问题如下:
- 在同一个 GitHub 存储库上有多个包(每个包都有自己的 setup.py)有什么影响?
- 我会遇到这样的设置问题吗?
- 常见的 Python 工具(文档生成器、pypi 打包等)是否与此类设置兼容?
- 有充分的理由更喜欢一种设置而不是另一种设置吗?
- 请记住,这不是一个基于意见的问题。我想知道这两种方法中的任何一种是否存在任何技术问题或问题。
此外,我知道(如果我错了请纠正我)setuptools 现在允许从 GitHub 存储库安装依赖项,即使 setup.py 的 GitHub URL 不在存储库的根目录下。
原文由 AstrOne 发布,翻译遵循 CC BY-SA 4.0 许可协议
这里介绍了一个方面 https://pip.readthedocs.io/en/stable/reference/pip_install/#vcs-support
特别是,如果 setup.py 不在根目录中,您必须在 pip install 命令中指定要在其中找到 setup.py 的子目录。