2010-11-22 2 views

ответ

1

Использование mr.developer: http://pypi.python.org/pypi/mr.developer

Он управляет развивать яйца красиво, в том числе добавление развивать-яйца в первую очередь.

+0

отлично, но мне нужно добавить их на дополнительные пути - их не так много - 2 вершины! – bx2 2010-11-23 09:58:27

1

Я думаю, что вы хотите автоматически добавить яйца развития в яйца, а не лишние пути. дополнительные пути больше для вещей, которые не являются eggy.

Если у вас есть яйцо «Foo» и «бар» яйцо, и вы хотите создать TestRunner для «Foo», но он нуждается в «бар» на пути, а я хотел бы сделать что-то вроде:

[buildout] 
extensions = isotoma.extensions.autodevelop 
parts = test 

[test] 
recipe = pbp.recipe.noserunner 
eggs = foo 
defaults = foo 

и setup.py для обува будет иметь install_requires строки:

setup(
    name='foo', 
    packages=['foo'], 
    install_requires=['bar'] 
    ) 

расширение autodevelop будет автоматически находить исходные яйца в той же папке, что и buildout.cfg, ища setup.py и добавление их в список яиц. И buildout вернет пути тестера правильно, потому что он смотрит на зависимости «foo» и видит, что «бар» также должен быть на пути. Это будет справедливо в отношении любого рецепта, который принимает список яиц.

Если вы хотите автоматически обновлять список яиц, посмотрите на buildout.eggtractor. Однако я не рекомендую это делать. В вашем построении должно быть указано, какие яйца используются (я имею в виду использование напрямую, вам нужно только указать foo в моем примере, потому что это зависит от бара), и ваши яйца должны быть явными в отношении зависимостей, которые у них есть. Таким образом, если вы когда-либо захотите развернуть яйца, у вас нет дополнительной работы.

+0

Какие преимущества делает isotoma.extensions.autodevelop предложение над mr.developer? – 2011-03-14 08:44:02

Смежные вопросы