2010-10-22 79 views
1

我試圖讓擴建的配置,如果需要用於安裝psycopg2雞蛋和從源頭的Postgres:擴建,psycopg2,PostgreSQL的

parts = 
    ... 
    postgre 
    psycopg2 
    ... 

[postgre] 
recipe = hexagonit.recipe.cmmi 
url = ftp://ftp3.ua.postgresql.org/pub/mirrors/postgresql/source/v9.0.0/postgresql-9.0.0.tar.gz 
configure-options = 
    --without-readline 

[psycopg2] 
recipe = zc.recipe.egg:custom 
egg = psycopg2 
include-dirs = 
    ${postgre:location}/include 
library-dirs = 
    ${postgre:location}/lib 
rpath = 
    ${postgre:location}/lib 

的問題是,它始終即使建立從源代碼的PostgreSQL,用戶已經安裝了postgresql。

我該如何判斷buildout以檢查用戶是否已經擁有了構建psycopg2所需的全部功能?

回答

2

可以做到這一點,但你必須做出自己的配方來做這個檢查。沒有現成的食譜可以做你想做的事。

另一種方法是有兩個構建配置。主要的buildout.cfg假設postgresql是可用的,不會嘗試構建它。

第二withpostgres.cfg看起來是這樣的:

[buildout] 
parts += 
    postgre 
    psycopg2 

[postgres] 
... your existing one ... 

[psycopg2] 
... your existing one ... 

用戶需要從源代碼編譯它可以通過調用bin/buildout -c withpostres.cfg使用第二個配置。

會解決你的問題嗎?

+0

所以你是對的,我必須爲此做出自己的配方。 – 2010-11-24 12:03:36

相關問題