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}
.
Ü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.
Neben Indizes kann auch die find-links
-Option angegeben werden um
Distributionen zu finden.
Dabei können sowohl URLs als auch Pfadangaben verwendet werden:
[buildout]
…
find-links =
http://download.zope.org/distribution/
/some/path
/other/path/someegg-1.0.0-py2.4.egg
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