Frage

Wir haben Probleme, wenn eine Reihe von Projekten zu implementieren versuchen zc.buildout, die die Verwendung - speziell wir finden, dass sie wollen, dass ihre PYTHON_EGG_CACHE Verzeichnisse setzen in der ganzen Show. Wir möchten uns irgendwie mit diesem Verzeichnis ein auf dem gleichen Niveau wie die integrierte Out-Projekt auf, wo eggs gefunden werden kann.

Es gibt einige Erwähnung online, dass dies für Plone-Projekte durchgeführt werden kann, aber ist es möglich, dies ohne Plone zu tun?

Gibt es einige Rezepte, die eine Umgebungsvariable einrichten können, damit wir die PYTHON_EGG_CACHE ausführbare Dateien in ./bin einstellen kann?

War es hilfreich?

Lösung

Ich bin nicht sicher, was du meinst. Drei Optionen, die Sie haben in der Regel:

  • Buildout, standardmäßig speichert die Eier in einem Verzeichnis namens eggs/ in Ihrem buildout Verzeichnis.

  • Sie können die eggs-dir Variable in Ihrem buildout.cfg des [buildout] Abschnitt in ein Verzeichnis. sagen Sie es einfach, wo sie setzen.

  • Sie können auch einstellen, dass gleiche Option in .buildout/defaults.cfg in Ihrem Home-Verzeichnis. Auf diese Weise können Sie einen Standard für alle Ihre Projekte festgelegt. Praktisch für die Speicherung aller Eier in einem Ort:., Die eine Menge Download-Zeit, zum Beispiel speichern

Hat einer von denen (vor allem der letzten) erreichen, was Sie wollen?

Und: nicht mit Eiern in den generierten bin/* Dateien vertrödeln. Lassen Sie buldout die Eier holen, das ist ihr Zweck.

Andere Tipps

Die PYTHON_EGG_CACHE nur für ZIP-Eier verwendet wird, ist die beste Wahl haben zc.buildout alle benötigten Eier installieren dekomprimiert:

[buildout]
...
unzip = true

Wenn Ihr System Python Reißverschluss Eier installiert, dass nach wie vor für den Ressourcenzugriff erfordern unzipping und Einstellen des PYTHON_EGG_CACHE in Ihren Skripten Ihre einzige Option ist (im Gegensatz die Umgebungsvariable für den Benutzer zu setzen), könnten Sie versuchen, die initialization zu verwenden Option von zc.recipe.egg beliebigen Python-Code in Ihre Skripten hinzuzufügen:

[a-part]
recipe = zc.recipe.egg
...
initialization = 
    import os
    os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top