2010-09-15 45 views
0

我正在嘗試編寫一個zc.buildout軟件包,它將的一些的要求安裝到零件目錄中。任何想法如何做到這一點?zc.buildout,將要求安裝到零件目錄中?

原因是因爲zc.buildout應用程序本身正在分發出去,但是我的軟件包的某些部分無法使用它。因此,我想將它們安裝到項目/部件目錄中,以便在本地使用它們,但是當應用程序分發時,它們會被留下。

爲了進一步闡明,採取以下setup.py snipplet:

include_package_data = True, 
install_requires = [ 
    'some_package', 
    'some_other_package', 
], 
entry_points = { 

,如果我現在使用的,some_packagesome_other_package將被安裝到所述分佈式應用部分。然後,當應用程序分發時,這些應該會發生,這不應該發生。請注意,這兩個包是來自pypi的任何包,我無法控制他們的代碼。

任何想法?

目前我正在嘗試自己下載壓縮包,並將它們解壓到部件目錄中。這應該可行,但顯然它缺少封裝系統的許多功能,因爲我靜態鏈接到單個版本的軟件包。

任何幫助將不勝感激!

回答

2

您可以使用omelette recipe來解壓所有雞蛋並放入零件目錄中的一個目錄。例如buildout.cfg

[buildout] 
parts = my_omelette 
eggs = 
    BeautifulSoup 
    django-registration 
    other_package_from_pypi 

unzip = true 

[my_omelette] 
recipe = collective.recipe.omelette 
eggs = ${buildout:eggs} 

這將安裝並打開所有的雞蛋中的目錄部分/ my_omelette

+0

我的解釋中有一些錯誤,我越掙扎和教訓,但是這是迄今爲止一個真棒解決方案對整個問題!謝謝!! – 2010-09-28 03:05:56