Pylons si presenta al pubblico con la versione 1.0. Dopo anni di sviluppo e utilizzo del framework da parte di Reddit, BitTorrent, Opera, possiamo quindi pensare ad una stabilizzazione delle API e una continuità per il futuro del framework.
Questo breve tutorial illustra i passi necessari all’installazione di Pylons e alla realizzazione di una prima semplice applicazione.
Requisiti
Pylons è un framework scritto in Python, ed è quindi necessario avere Python correttamente installato e funzionante sulla propria postazione. Pylons è compatibile con le versioni 2.4 e successive, mentre non è compatibile con Python 3, in qualsiasi versione.
Tutte la maggiori distribuzinoi Linux (Ubuntu, Fedora, …) presentano Python già installato, così come Apple OSX; nel caso di sistemi Windows è invece necessario procedere all’installazione del linguaggio prelevando l’eseguibile di installazione dalla http://www.python.org/download/[pagina di download del sito ufficiale Python].
Come vedremo più avanti in questa guida, nel caso si vogliano utilizzare database come MySQL o Postgres è necessario installare le librerie Python per il database prescelto; per iniziare procederemo senza alcuna installazione aggiuntiva, concentrandoci sul framework web Pylons.
Per controllare la presenza di Python sul vostro sistema e la versione installata aprite il Terminale e digitate l’istruzione python --version; il risultato dovrebbe essere quanto riportato qui sotto:
$ python --version
Python 2.6.1
Possiamo ora procedere all’installazione di Pylons.
Installazione
L’installazione di Pylons prevede la creazione di un ambiente virtuale che concentra tutte le librerie utilizzate dal framework. Questa scelta dovrebbe evitare eventuali conflitti fra librerie Python già installate e quelle Pylons, e offrire un modo più sicuro di gestire le dipendenze del progetto.
Per procedere all’installazione è necessario scaricare http://www.pylonshq.com/download/1.0/go-pylons.py[questo script di installazione] ed eseguirlo con il comando sotto:
$ python go-pylons.py pylonsdev
dove pylonsdev è la cartella in cui verranno depositati tutti i file dell’ambiente virtuale.
L’esecuzione dello script può richiedere qualche minuto dal momento che procede al download e all’installazione di numerose librerie Python. Al termine dell’installazione apparirà il messaggio Finished processing dependencies for Pylons##1.0 che informa dell’avvenuta installazione di Pylons.
Senza dilungarci su quanto è stato installato, è importante notare che nella cartella che abbiamo indicato come cartella di destinazione per l’installazione è stato inserito un comando che sarà abbondantemente utilizzato per lo sviluppo del progetto, ovvero paster.
Sugli ambienti Windows è bene includere il percorso assoluto verso questo comando all’interno della variabile di ambiente PATH così da poter utilizzare il comando in qualsiasi cartella ci si trovi.
Possiamo ora attivare l’ambiente virtuale che abbiamo creato con il segiente comando per sistemi Linux e OSX:
source mydevenv/bin/activate
mentre per i sistemi Windows eseguire il seguente comando:
mydevenvScriptsactivate.bat
Possiamo ora procedere alla creazione del primo progetto di esempio.
[[creazione-primo-progetto-pylons]]
Creazione del primo progetto di esempio Pylons
Il progetto Pylons che creiamo ora è molto semplice: accetterà una chiamata GET da parte di un browser ad un determinato indirizzo e restituirà a video numerose informazioni relative al sistema.
Pylons permette di creare un template del progetto contente file e cartelle preimpostate e pronte per essere personalizzate; dal terminale, lo stesso dal quale abbiamo precedentemente attivato l’ambiente Pylons, digitiamo il comando:
$ paster create -t pylons hellopylons
Ci verrà richiesto di inserire il linguaggio di template (quello per la formattazione delle pagine HTML per intenderci) che abbimo intenzione di utilizzare; premiamo invio per selezionare mako, la scelta di default.
Viene quindi chiesto se il progetto utilizzerà SQLAlchemy, l’ORM utilizzato per il dialogo con il database. Dal momento che questo progetto non utilizzerà il database possiamo premere nuovamente invio per selezionare False.
Al termine di queste due interazioni lo script di inizializzazione del progetto Pylons ha creato una cartella nominata hellopylons, quindi con lo stesso nome che abbiamo indicato come il nome del progetto, contenente diversi file e cartelle.
Spostiamoci all’interno della nuova cartella creata e avviamo il server messo a disposizione dal framework per lo sviluppo:
$ cd hellopylons/
$ paster serve --reload development.ini
Starting subprocess with file monitor
Starting server in PID 812.
serving on http://127.0.0.1:5000
Come suggerito dal messaggio colleghiamoci con un browser all’indirizzo http://127.0.0.1:5000 per visualizzare la pagina di benvenuto.

La pagina di benvenuto di Pylons
Procediamo ora alla creazione di un controller, ovvero quella porzione di codice che si occupa di ricevere le richieste ed eseguire le azioni appropriate (vedi la sezione relativa al pattern MVC per una spiegazione più approfondita della funzione del controller).
Torniamo quindi al Terminale; interrompiamo l’esecuzione del server con Control+C e digitiamo il comando:
$ paster controller info
Questo comando richiede la creazione di un nuovo controller dal nome info per l’applicazione cha abbiamo creato. Il comando procede alla creazione di due file:
hellopylons/controllers/info.pyè il file all’interno del quale implementiamo il controllerhellopylons/tests/functional/test_info.pyè il file all’interno del quale implementeremo i test funzionali relativi al controller
Accedendo con un editor il file hellopylons/controllers/info.py modifichiamo il codice così che si presenti come segue:
import logging
from pylons import request, response, session, tmpl_context as c, url
from pylons.controllers.util import abort, redirect
from hellopylons.lib.base import BaseController, render
log = logging.getLogger(__name__)
class InfoController(BaseController):
def index(self):
return render('/info.mako')
Creiamo il file hellopylons/templates/info.mako che conterrà la pagina da visualizzare a fronte della richiesta giunta al controller; all’interno inseriamo il codice:
<h1>Ciao Pylons!</h1>
<code>
${request.environ}
</code>
Dal Terminale riavviamo il server con l’istruzione vista in precedenza e visitiamo con il browser la pagina http://127.0.0.1:5000/info/index per vedere il risultato di quanto abbiamo scritto fino ad ora.

Esecuzione del primo progetto Pylons
Nella pagina del browser appaiono, in modo un po’ confuso, i parametri dell’ambiente del progetto Pylons, compresi i dettagli relativi alla richiesta che abbiamo appena effettuato.
Per fermare il server inseriamo da Terminale la combinazione Control+C.
Altri articoli interessanti:


4 Commenti
Bello e completo! a quando i prossimi articoli?
Ne stiamo covando un secondo. Iscriviti al feed RSS così appena esce puoi leggerlo (puoi anche iscriverti con la tua email, ricevi una email al giorno con tutti gli articoli che sono stati pubblicati).
ciao guarda che hai un refuso…
[[creazione-primo-progetto-pylons]]Creazione del primo progetto di esempio Pylons
Per il resto ottimo articolo!
Corretto. Grazie!