Укажите пользовательский каталог PYTHON_EGG_CACHE с помощью zc.buildout?
У нас возникают проблемы при попытке развернуть несколько проектов, использующих zc.buildout, - в частности, мы обнаруживаем, что они хотят поставить свои PYTHON_EGG_CACHE
каталоги по всему шоу. Мы бы хотели как-то установить этот каталог на один уровень со встроенным проектом, где eggs
может быть найден.
В Интернете есть некоторые упоминания о том, что это можно сделать для проектов Plone, но возможно ли это сделать без Plone?
Существуют ли рецепты, которые могут установить переменную среды, чтобы мы могли установить PYTHON_EGG_CACHE
исполняемые файлы в ./bin
?
2 ответа
Я не уверен, что вы имеете в виду. Три варианта, которые у вас обычно есть:
По умолчанию Buildout хранит яйца в каталоге
eggs/
в вашем каталоге buildout.Вы можете установить
eggs-dir
переменная внутри вашего buildout.cfg[buildout]
раздел в какой-то каталог. Просто скажи, где их разместить.Вы также можете установить ту же самую опцию в
.buildout/defaults.cfg
внутри вашего домашнего каталога. Таким образом, вы можете установить значение по умолчанию для всех ваших проектов. Удобно для хранения всех ваших яиц в одном месте: например, это может сэкономить много времени на загрузку.
Один из них (особенно последний) выполняет то, что вы хотите?
И: не копаться с яйцами в сгенерированном bin/*
файлы. Пусть бульдут собирает яйца, это его цель.
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'