Che cos'è lo script incolla?
Domanda
Sto cercando di capire cosa sono lo script incolla e il paster. Il sito Web è tutt'altro che chiaro. Ho usato Paster per generare layout predefiniti per i progetti, ma non riesco ad avere una visione d'insieme.
Per quanto ho capito, e dalla voce di Wikipedia, dice che è un framework per framework web, ma sembra riduttivo. paster create
sembra essere in grado di creare layout predefiniti per i pacchetti abilitati a setuptools / distutils.
Qual è il problema (o la serie di problemi) che sta cercando di risolvere?
Soluzione
Incolla ha diversi componenti:
- Paste Core: vari moduli per facilitare la creazione di app o framework Web wsgi ( indice del modulo ). Include elementi come oggetti richiesta e risposta. Dal sito web: "Il futuro di questi pezzi è dividerli in pacchetti indipendenti e riformattare le dipendenze interne di Incolla per fare affidamento invece su WebOb". Se stai pensando di utilizzare componenti da paste core, ti suggerisco di guardare invece agli spin-off, come WebOb .
- Paste Deploy: un sistema per il caricamento e la configurazione di applicazioni e server WSGI ( indice del modulo ). Fondamentalmente alcune cose per leggere un file di configurazione e creare un'app WSGI come specificato nel file.
- Incolla script : un framework per la definizione di comandi. Viene fornito con alcuni comandi predefiniti, come
paster serve
(carica e serve un'applicazione WSGI definita in un file di configurazione Paste Deploy) epaster create
(crea il layout della directory per pacchetti ecc.). La migliore introduzione per incollare lo script che ho trovato è http://pythonpaste.org/script/developer.html
Ecco la fonte del comando paster serve
: serve.py .
E paster create
: create_distro.py .
Altri suggerimenti
PasteScript (e il suo compagno PasteDeploy) sono strumenti per eseguire codice Python usando 'entry points'. Fondamentalmente, una libreria Python può specificare nei metadati che sa come creare un certo tipo di progetto Python o eseguire determinate operazioni su quei progetti. paster è uno strumento da riga di comando che cerca il codice appropriato per l'operazione richiesta. È un tipo di problema molto generale; se hai familiarità con Ruby, l'equivalente potrebbe essere "rake".
In particolare, PasteDeploy è un formato di configurazione per servire le webapp Python usando paster. Sia PasteScript che PasteDeploy sono importanti per il framework Web di Pylons.