z3c.recipe.runscript is een run-script URL die u toelaat om een willekeurig script om het werk van het recept te doen opgeven.
De runscript Buildout Recipe
Sommige softwarepakketten zijn niet eenvoudig te installeren met behulp van gevestigde build patronen, zoals "configureren, maak, make install". In die gevallen wil je in staat zijn om willekeurige scripts gebruiken om een bepaald onderdeel te bouwen. Dit recept voorziet in een eenvoudige implementatie van een Python callable voor elke installeren en updaten van een deel uit te voeren.
& Nbsp; >>> import os
& Nbsp; >>> import z3c.recipe.runscript.tests
& Nbsp; >>> scriptFilename = os.path.join (
& Nbsp; ... os.path.dirname (z3c.recipe.runscript.tests .__ file__), 'fooscripts.py')
Laten we een monster buildout om het te installeren:
& Nbsp; >>> write ('buildout.cfg',
& Nbsp; ... "" "
& Nbsp; ... [buildout]
& Nbsp; ... onderdelen = foo
& Nbsp; ...
& Nbsp; ... [foo]
& Nbsp; ... recept = z3c.recipe.runscript
& Nbsp; ... install-script =% s: installFoo
& Nbsp; ... "" "% scriptFilename)
De optie install-script geeft de module en de functie om te bellen tijdens het deel installatie. De functie neemt de lokale en buildout opties als argumenten. Zie testen / fooscripts.py voor details.
Bij het uitvoeren van buildout, wordt de installFoo () functie genaamd:
& Nbsp; >>> print-systeem ('bin / buildout')
& Nbsp; installeren foo.
& Nbsp; Now executing `` installFoo () ``
Als we weer lopen het buildout, zal de update methode worden genoemd, maar omdat we niet hadden opgegeven, gebeurt er niets:
& Nbsp; >>> print-systeem ('bin / buildout')
& Nbsp; updaten foo.
Laten we nu specificeren de update script als goed, waardoor de updateFoo () functie te noemen:
& Nbsp; >>> write ('buildout.cfg',
& Nbsp; ... "" "
& Nbsp; ... [buildout]
& Nbsp; ... onderdelen = foo
& Nbsp; ...
& Nbsp; ... [foo]
& Nbsp; ... recept = z3c.recipe.runscript
& Nbsp; ... install-script =% s: installFoo
& Nbsp; ... update-script =% s: updateFoo
& Nbsp; ... "" "% (scriptFilename, scriptFilename))
Maar na een verandering als dat, zullen onderdelen worden verwijderd en opnieuw geïnstalleerd:
& Nbsp; >>> print-systeem ('bin / buildout')
& Nbsp; verwijderen foo.
& Nbsp; installeren foo.
& Nbsp; Now executing `` installFoo () ``
Pas nu kunnen we het onderdeel werken:
& Nbsp; >>> print-systeem ('bin / buildout')
& Nbsp; updaten foo.
& Nbsp; Now executing `` updateFoo () ``
En dat is het
Wat is nieuw in deze release:.
- Bug: fix Windows pad ondersteuning (met puntkomma zoals ' c: ')
Eisen
- Python
Reacties niet gevonden