Укажите собственный каталог PYTHON_EGG_CACHE с помощью zc.buildout?

StackOverflow https://stackoverflow.com/questions/4025412

  •  26-09-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

  • Создание, по умолчанию хранит яйца в каталоге под названием eggs/ Внутри вашего каталога сборка.

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

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

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

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

Другие советы

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

[buildout]
...
unzip = true

Если в вашем системном Python установлены заархивированные яйца, которые по-прежнему требуют разархивирования для доступа к ресурсам, и установка 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'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top