2014-09-10 50 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

相關問題