Укажите пользовательский каталог PYTHON_EGG_CACHE с помощью zc.buildout? - PullRequest
1 голос
/ 26 октября 2010

У нас возникают проблемы при попытке развернуть несколько проектов, в которых используется zc.buildout - в частности, мы обнаруживаем, что они хотят разместить свои каталоги PYTHON_EGG_CACHE по всему шоу.Мы хотели бы как-то установить этот каталог на тот же уровень, что и у встроенного проекта, где можно найти eggs.

В Интернете есть некоторые упоминания о том, что это можно сделать для проектов Ploneно возможно ли это сделать без Plone?

Существуют ли некоторые рецепты, которые могут установить переменную среды, чтобы мы могли установить исполняемые файлы PYTHON_EGG_CACHE в ./bin?

Ответы [ 2 ]

4 голосов
/ 14 января 2011

PYTHON_EGG_CACHE используется только для яиц на молнии, лучше всего, чтобы zc.buildout установил все необходимые яйца в разархивированном виде:

[buildout]
...
unzip = true

Если в системном питоне установлены молнии для яиц, для которых по-прежнему требуется разархивировать ресурсдоступ и установка PYTHON_EGG_CACHE в ваших сценариях - ваш единственный вариант (в отличие от установки переменной окружения для вашего пользователя), вы можете попробовать использовать параметр initialization zc.recipe.egg для добавления произвольного кода Python в ваши сценарии.:

[a-part]
recipe = zc.recipe.egg
...
initialization = 
    import os
    os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'
0 голосов
/ 26 октября 2010

Я не уверен, что вы имеете в виду. Три варианта, которые у вас обычно есть:

  • По умолчанию Buildout хранит яйца в каталоге с именем eggs/ внутри вашего каталога сборки.

  • Вы можете установить переменную eggs-dir в секции [buildout] вашего buildout.cfg для некоторого каталога. Просто скажите, где их разместить.

  • Вы также можете установить ту же самую опцию в .buildout/defaults.cfg в вашем домашнем каталоге. Таким образом, вы можете установить значение по умолчанию для всех ваших проектов. Удобно для хранения всех ваших яиц в одном месте: например, это может сэкономить много времени на загрузку.

Один из них (особенно последний) выполняет то, что вы хотите?

И: не копаться с яйцами в сгенерированных bin/* файлах. Пусть булдаут соберет яйца, вот его цель.

...