如何管理Python中的子项目?

How to manage sub-projects in Python?

我正在开发一个名为 MyPkg 的 Python 项目。我正在为 ReqPkg 贡献开源。 MyPkg 中的大部分功能都依赖于 ReqPkg 的功能。我不想等待 PyPi 的 ReqPkg 主要版本发布,MyPkg 才具有新开发的功能。我已将 ReqPkg 设置为 git 子模块。但是,我不清楚这是否是 Python 中的常见做法。有什么方法可以保持 ReqPkg 作为独立包的完整性,并使其成为如下所示结构的子项目?谢谢。

MyPkg
├── MyPkg
│   ├── ReqPkg
│   │   ├── ReqPkg
│   │   │   └── module.py
│   │   └── setup.py
│   └── module.py
└── setup.py

pip 是灵活的,所以如果包在 Github 上,你可以 fork 包并发布它。然后你可以从版本 link:

安装它
pip install https://github.com/user/repo/archive/refs/tags/v4.0.1-dev.0.zip

或者如果 git 安装在您的系统上并且您希望安装到特定的提交:

pip install git+https://github.com/user/repo.git@a6846sd1f65ds7f984g651sg687sd4f5d1af

或者如果有您想要安装的特定分支:

pip install git+https://github.com/user/repo.git@master