Buildout, psycopg2, postgresql - PullRequest
       4

Buildout, psycopg2, postgresql

1 голос
/ 22 октября 2010

Я пытаюсь создать конфигурацию buildout, которая устанавливает psycopg2 egg и postgres из источника при необходимости :

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?

1 Ответ

2 голосов
/ 26 октября 2010

Вы можете сделать это, но вам придется сделать свой собственный рецепт, чтобы сделать эту проверку. Там не существует рецепт, который делает то, что вы хотите.

Альтернативой является создание двух конфигов компоновки. Основной buildout.cfg предполагает, что postgresql доступен и не пытается его собрать.

секунда withpostgres.cfg может выглядеть так:

[buildout]
parts +=
    postgre
    psycopg2

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

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

Пользователи, которым необходимо собрать его из исходного кода, могут использовать вторую конфигурацию, вызвав bin/buildout -c withpostres.cfg.

Это решит вашу проблему?

...