Ressourcen teilen

Verzeichnisse teilen

Da wir mehrere Projekte mit verschiedenen Buildout-Konfigurationen betreuen, wollen wir die Sourcen zwischen den Projekten teilen.

So ist es möglich, Eggs verschiedener Versionen in einem Verzeichnis bereitzustellen. Ein solches Verzeichnis kann in der Buildout-Konfigurationsdatei buildout.cfg im Abschnitt [buildout] eingetragen werden, z.B.:

[buildout]
eggs-directory = /home/veit/.buildout/eggs

Analog teilen wir das downloads-Verzeichnis zwischen verschiedenen Buildout-Projekten:

download-cache = /home/veit/.buildout/downloads

Ab Version 1.4.1 von zc.buildout lässt sich auch ein geteiltes Verzeichnis für die heruntergeladenen Dateien angeben:

extends-cache = /home/veit/.buildout/cache

Um Fehlermeldungen zu vermeiden sollten die zu verwendenden Verzeichnisse vor dem ersten Durchlauf von Buildout erstellt werden, z.B. mit mkdir -p /home/veit/.buildout/{eggs,downloads,cache}.

Distributionen finden

Indizes

Üblicherweise sucht Buildout im Python Package Index nach Distributionen. Es können jedoch auch auch weitere Indizes angegeben werden mit:

[buildout]
…
index = https://pypi.org/simple/

Dieser Index oder falls kein Index angegeben ist https://pypi.python.org/simple/ wird zur Suche nach der passenden Distribution verwendet. Dabei wird immer die letzte passende Version einer angeforderten Distribution heruntergeladen.

Globale Variablen für alle Buildout-Projekte

Um diese Konfiguration nicht für jedes Buildout-Projekt erneut angeben zu müssen, kann eine default.cfg-Datei im Verzeichnis ~/.buildout angelegt werden:

[buildout]
eggs-directory = /home/veit/.buildout/eggs
download-cache = /home/veit/.buildout/downloads
extends-cache = /home/veit/.buildout/cache
index = https://pypi.python.org/simple
socket-timeout = 3