将两个Python包捆绑在一起
我有一个Python包将两个Python包捆绑在一起,python,setuptools,software-packaging,Python,Setuptools,Software Packaging,我有一个Python包myapp,它依赖于Python包theirapp 他们的RAPP被其他人使用,可能会偶尔更新,但它并不托管在PyPI上 我目前的存储库设置如下: my-app/ myapp/ __init__.py requirements.txt their-app/ setup.py theirapp/ __init__.py 我的requirements.txt文件包含以下行(以及其他
myapp
,它依赖于Python包theirapp
他们的RAPP
被其他人使用,可能会偶尔更新,但它并不托管在PyPI上
我目前的存储库设置如下:
my-app/
myapp/
__init__.py
requirements.txt
their-app/
setup.py
theirapp/
__init__.py
我的requirements.txt
文件包含以下行(以及其他行):
他们的应用程序
不在PyPI上托管,但我想确保安装了最新版本。到目前为止,我一直在下载一个包含myapp
的zip文件,键入pip install-U requirements.txt
,并手动使用该应用程序
我想制作一个可安装的Python包。理想情况下,我想下载一个my app.zip
文件,然后键入pip install my app.zip
以安装myapp
,其RAPP
和任何其他依赖项
这可能吗?如果没有,处理这种情况的最佳方法是什么?您可能只需要将
他们的RAPP
打包为项目的一部分,并将其导入为myapp.contrib.TheIRAP
。如果这两个项目都是用git进行版本控制的,您可以将其实现为一个版本,但这可能会增加维护人员的复杂性
pip如何处理类似问题:
您可以看到pip将捆绑的供应商包导入为pip.\u vendor.theirapp
./their-app/