2014-09-10 54 views
0

我有一个Python软件包myapp,它依赖于Python软件包theirapp将两个Python软件包捆绑在一起

theirapp被他人使用并且可能会不定期更新,但不在PyPI中托管。

目前,我有我的仓库的设置是这样的:

my-app/ 
    myapp/ 
     __init__.py 
    requirements.txt 
    their-app/ 
     setup.py 
     theirapp/ 
      __init__.py 

requirements.txt文件包含以下行(其中包括):

./their-app/ 

their-app不托管PyPI上,但我想打确保安装了最新版本。到目前为止,我一直在下载一个包含my-app的zip文件并输入pip install -U requirements.txt并手动使用该应用程序。

我想制作一个可安装的Python包。理想情况下,我想下载一个文件my-app.zip和类型pip install my-app.zip安装myapptheirapp和任何其他依赖关系。

这可能吗?如果不是,处理这种情况的最佳方法是什么?

回答

1

您可能只需要捆绑theirapp作为项目的一部分,并导入为myapp.contrib.theirapp。如果这两个项目在git的版本,你可以impliment它作为一个submodule,但它可能会增加复杂性的维护者。

点子如何处理类似的问题: https://github.com/pypa/pip/tree/develop/pip/_vendor

你可以看到PIP进口供应商捆绑套餐为pip._vendor.theirapp

相关问题