Domanda

Stiamo avendo problemi quando si cerca di distribuire un certo numero di progetti che zc.buildout uso - in particolare ci stiamo trovando che vogliono mettere le loro directory PYTHON_EGG_CACHE tutto lo spettacolo. Vorremmo impostare in qualche modo questo elenco per uno allo stesso livello come il progetto built-out, dove eggs può essere trovato.

C'è qualche riferimento online che questo può essere fatto per i progetti di Plone, ma è possibile farlo senza Plone?

Ci sono alcune ricette che possono impostare una variabile d'ambiente in modo che possiamo impostare i file eseguibili PYTHON_EGG_CACHE in ./bin?

È stato utile?

Soluzione

Non sono sicuro di quello che vuoi dire. Tre opzioni che si hanno normalmente:

  • Buildout, per impostazione predefinita, memorizza le uova in una directory chiamata eggs/ all'interno della vostra cartella buildout.

  • E 'possibile impostare la variabile eggs-dir all'interno della sezione [buildout] del buildout.cfg a qualche directory. Basta dire che dove metterli.

  • Si può anche impostare quella stessa opzione nel .buildout/defaults.cfg all'interno della vostra directory home. In questo modo è possibile impostare un valore predefinito per tutti i vostri progetti. Handy per la memorizzazione di tutte le uova in un unico luogo:. Che possono risparmiare un sacco di tempo di download, per esempio

non uno di quelli (soprattutto l'ultimo) realizzare ciò che si vuole?

E: non impazzire con le uova nei file bin/* generati. Lasciate buldout raccogliere le uova, questo è il suo scopo.

Altri suggerimenti

Il PYTHON_EGG_CACHE viene utilizzato solo per le uova con cerniera, la soluzione migliore è quella di avere zc.buildout installare tutte le uova necessarie decompresso:

[buildout]
...
unzip = true

Se il pitone sistema dispone di uova zip installati che hanno ancora bisogno di decompressione per l'accesso alle risorse, e l'impostazione del PYTHON_EGG_CACHE negli script è l'unica opzione (in contrasto con l'impostazione della variabile d'ambiente per l'utente), si potrebbe provare a utilizzare il initialization possibilità di zc.recipe.egg per aggiungere codice Python arbitrario vostri script:

[a-part]
recipe = zc.recipe.egg
...
initialization = 
    import os
    os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top