PythonAnywhere: un ambiente Python nel proprio browser

giovedì 10 maggio 2012 - 9:30

di Massimiliano Pippi

Arrivando sul sito di PythonAnyware si potrebbe cadere nell’equivoco e bollarlo come l’ennesima Python shell che gira nel browser sulla falsariga dell’interprete implementato su Appengine, Codepad oppure Ideone. Questo però sarebbe un grave errore per diversi motivi.

Posto che le shell Python integrate nei browser sono molto utili soprattutto per i principianti e per i corsi di programmazione introduttivi, di per sé non rappresentano certo una novità  dal punto di vista tecnologico. Il valore aggiunto di PythonAnyware invece si percepisce già  prima di avviare la shell: appena fatto il login infatti si accede ad una dashboard personale attraverso la quale possiamo scegliere quale versione di Python eseguire fra 2.6, 2.7 e 3.2, con o senza l’interfaccia di IPython. E per la versione 2.7 possiamo addirittura utilizzare l’interprete PyPy. La lista dei package installati è impressionante: si va da NumPy, SciPy, Mechanize, fino a BeautifulSoup, pycrypto solo per citarne alcuni.

La shell viene caricata in un iframe ed è realizzata interamente con codice HTML rendendola di fatto portabile su più piattaforme e più browsers, comprese le versioni mobili di Apple. àˆ possibile tenere aperte diverse shell (in numero variabile in accordo con il profilo di account scelto), condividerle con altri utenti o terminarle al bisogno.

Il servizio è dotato di un editor di testo piuttosto evoluto con colorazione della sintassi e indentazione automatica attraverso il quale l’utente può creare, modificare ed eseguire i propri script. I file vengono memorizzati in un’area di storage di dimensioni variabili a seconda del profilo dell’account ma se lo spazio non dovesse bastare o se si volesse un’integrazione più fluida con il filesystem del proprio PC, PythonAnywhere consente di utilizzare un account Dropbox rendendo accessibile dalla dashboard la propria cartella condivisa sul popolare servizio di storage.

Se doveste chiedervi qual è lo scopo di una shell così sofisticata, basta scorrere la lista delle features perché si apra un mondo. Difatti ciascuna shell può contenere uno script wsgi che risponde ad un determinato URL. Unite questo fatto alla possibilità  di avviare una shell bash dalla quale invocare git ed interagire con il filesytem. Aggiungete la disponibilità  di un wizard attraverso il quale preconfigurare un’applicazione Django o web2py. Mescolate il tutto con la possibilità  di sfruttare un database MySql, una serie di cronjobs con i quali eseguire determinati script periodicamente e otterrete così la vera essenza di Python Anywhere: deployment di applicazioni web alla velocità  della luce.

PythonAnywhere si appoggia completamente sull’infrastruttura EC2 di Amazon per cui non dovrebbero esserci motivi per non ritenere il servizio affidabile; se da un lato mi riserverei di fare ulteriori test e approfondimenti prima di adottarlo in un contesto professionale, dall’altro mi sento di consigliarlo caldamente a chi pensa di farne un utilizzo personale: il profilo free offre più risorse del corrispondente su Heroku, il deployment è più semplice che su Openshift, tutto il sistema è in generale molto più flessibile di AppEngine.

Categoria: Scripting | Commenta

Commenti per PythonAnywhere: un ambiente Python nel proprio browser

bella storia! e’ praticamente quello che ho dovuto fare io a mano nelle ultime settimane (installare Python, poi Django, poi MySQL…) su EC2. Se l’avessi saputo prima, quasi quasi…

Mi chiedo se oltre a MySQL si puo’ usare Mongo. Io l’ho sostituito a MySQL recentemente ed e’ stato un po’ uno sbatto per l’installazione ma una volta fatto Django non fa una piega: usa i modelli esattamente come se fosse MySQL.

# - Postato da pbattino 10 maggio 2012 alle 13:10

Ciao! Sono un sviluppatore di PythonAnywhere, grazie per questa gentile presentazione. Spero che mi scuserete il mio Italiano bruttissimo.

Massimiliano, grazie ancora per cuest’ articolo, mi ha piaciuto particolarmente l’ultima frase : “il profilo free offre più risorse del corrispondente su Heroku, il deployment é più semplice che su Openshift, tutto il sistema é in generale molto più flessibile di AppEngine.” :-)

pbattino, altri utilizzatori anno anche chiesto il support di altri database, particolarmente Mongo, posso dunque dire che e pianificato, non posso dire per quando perro.

Piccole correzione: l’integrazione con Dropbox non permette di aggiungere al spazio disponibile – fa parte del stesso quota di storage, 500MB per i profili free. Poi, ogni utilizzatore dispone di multipli shell, ma di solo una configurazione WSGI, e dunque di una sola webapp, con un domain predeterminato (username.pythonanywhere.com)…

Son’ disponibile si avete altri domande, via harry@pythonanywhere.com. Sarò anche al’ EuroPython in Firenze… dove mi son’ avanzato per fare un talk in Italiano, una decisione che mi da adesso dei dubbi significanti!

https://ep2012.europython.eu/conference/p/harry-percival

# - Postato da Harry 16 maggio 2012 alle 13:35

Salve
Io per hobby sviluppo programmi in Python
Sto provando a inserire il mio sito su lo spazio offerto da http://www.pythonanywhere.com
(http://pietro72li.pythonanywhere.com/),
non ho trovato dati per accedere allo spazzio tramite FTP, c’é qualche altro modo per trasferire cartelle con più file e cartelle contemporaneamente?

# - Postato da Pietro 25 ottobre 2012 alle 19:51

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>