Python è ovunque. In questi giorni, sembra che alimenti tutto, dai principali siti web alle utility per il desktop al software aziendale. Python è stato usato per scrivere tutti, o parti di, progetti software popolari come dnf/yum, OpenStack, OpenShot, Blender, Calibre, e persino il client BitTorrent originale. Personalmente, Python è stato il mio linguaggio di riferimento nel corso degli anni per tutto, dai progetti di classe al college a piccoli script per aiutarmi ad automatizzare compiti ricorrenti. È uno dei pochi linguaggi là fuori che è sia facile da iniziare per i principianti, sia incredibilmente potente quando i principianti passano a lavorare su progetti del mondo reale.
Per modificare i programmi Python, avete una serie di opzioni. Alcune persone preferiscono un editor di testo di base, come Emacs, Vim o Gedit, che possono essere estesi con caratteristiche come l’evidenziazione della sintassi e il completamento automatico. Ma un sacco di utenti che lavorano su grandi progetti con basi di codice complesse preferiscono un ambiente di sviluppo integrato (IDE) alla combinazione editor di testo più terminale. Un IDE è essenzialmente un editor di testo, ma con molte caratteristiche aggiuntive, a volte specifiche solo per uno o due linguaggi di programmazione, per aiutare il programmatore a tenere traccia del progetto nel suo complesso. Per esempio, la maggior parte degli IDE mantengono una cache dei nomi di classi, funzioni e variabili in modo che possano essere completati rapidamente. Altri hanno strumenti di debug, logica istantanea e controllo degli errori, e così via.
Il confine tra un editor di testo avanzato e un IDE sottile non è sempre chiaro. Man mano che si acquisisce esperienza, di solito si sviluppa un’opinione su quali caratteristiche si considerano essenziali per le proprie esigenze di sviluppo, e anche queste a volte dipendono dal progetto a cui si sta lavorando.
Queste sono alcune delle opzioni più popolari disponibili per gli sviluppatori Python. Tutte sono multipiattaforma, quindi possono essere usate sul vostro sistema operativo preferito.
Eric
Eric è uno degli IDE preferiti per l’editing di Python. Chiamato come Eric Idle dei Monty Python, Eric è effettivamente scritto in Python usando il framework Qt.
Eric fa uso di Scintilla, un componente di editing del codice sorgente usato in un certo numero di diversi IDE ed editor, e che è anche disponibile come editor autonomo SciTE.
Le caratteristiche di Eric sono simili ad altri IDE: brace matching, completamento del codice, un browser di classi, test unitari integrati, e così via. Ha anche una funzione di anteprima della forma Qt, che è utile se state sviluppando una GUI Qt per la vostra applicazione. Personalmente mi piace la funzione integrata di lista delle attività.
Se siete nuovi agli IDE come concetto, Eric può richiedere un po’ di tempo per essere padroneggiato, e potreste chiedervi se imparare un IDE specifico per Python valga l’investimento di tempo. Trovo che Eric sia un ottimo ambiente di programmazione, leggero ma completo, e impararlo può aiutare la qualità del vostro codice e farvi familiarizzare con le convenzioni comuni a tutti gli IDE.
Eric è disponibile sotto la versione 3 della GPL.
Pyzo
Pyzo è un editor basato su Qt con un browser di file integrato, panoramica del progetto, log, debugger, tracker di indentazione e molto altro. Si considera un’alternativa a MATLAB, anche se in realtà è un editor utile per qualsiasi progetto Python, non solo per quelli che hanno a che fare con la matematica avanzata e la scienza.
Perché è costruito con Qt, il tuo spazio di lavoro è altamente configurabile. Puoi spostare i pannelli per adattarli al tuo flusso di lavoro o per simulare uno specifico layout dell’IDE a cui sei abituato. La capacità di mostrare e nascondere i pannelli degli strumenti in base alle informazioni che vuoi avere davanti a te può essere un modo utile per aiutarti a concentrarti, e poiché puoi assegnare quasi ogni opzione ad una specifica combinazione di tasti, puoi mantenere il tuo editor Pyzo fluido e dinamico.
Pyzo è un semplice IDE, non è un intero ecosistema come Eclipse. Non ha un’architettura di plugin (a parte il fatto di essere open source e quindi intrinsecamente hackerabile), e il suo obiettivo principale è quello di stare fuori dalla tua strada, tranne che per aiutarti a tenere traccia del tuo codice.
Spyder
L’IDE Spyder, come Pyzo, si rivolge agli scienziati di dati come suo pubblico. A differenza di Pyzo, Spyder è un vero e proprio ambiente tutto suo. È un’applicazione grande, complessa e ricca di funzionalità con pannelli per visualizzare i dati renderizzati, l’output del codice, i log, la storia e molto altro. Può essere scaricato da solo, o come parte di un bundle insieme alla distribuzione Anaconda, un popolare toolkit di programmazione usato dai programmatori Python e R.
PyCharm
PyCharm è un altro popolare editor Python. Ci sono due versioni di PyCharm, e l’edizione gratuita e open source di PyCharm è l’edizione comunitaria, disponibile sotto la licenza Apache 2.0.
PyCharm ha più o meno tutto quello che si potrebbe sperare in un IDE: test di unità integrati, ispezione del codice, controllo di versione integrato, strumenti di rifattorizzazione del codice, una varietà di strumenti per la navigazione del progetto, così come l’evidenziazione e le funzioni di completamento automatico che ci si aspetta da qualsiasi IDE.
Per me, il principale svantaggio di PyCharm è il suo modello di core aperto. Molte delle caratteristiche avanzate di PyCharm non sono disponibili sotto una licenza open source, e per me, questo è un problema. Comunque, se non state cercando di usare le caratteristiche avanzate incluse nella versione closed source, avere le caratteristiche lasciate fuori può lasciare PyCharm come una scelta semplice e relativamente leggera per l’editing di Python.
Eclipse con PyDev
E’ difficile scrivere qualcosa sugli ambienti di sviluppo integrati open source senza coprire Eclipse, che ha un’enorme comunità di sviluppatori e innumerevoli plugin disponibili, permettendovi di personalizzarlo per soddisfare quasi ogni esigenza che potete immaginare. Ma questo approccio “kitchen sink” è anche uno dei lati negativi di Eclipse. A seconda delle vostre esigenze, può sembrare gonfio o troppo complesso.
Detto questo, se arrivate a Python da un background in un linguaggio diverso, in particolare Java, allora Eclipse può essere già un IDE familiare. E se fate uso delle sue molte caratteristiche, potreste trovare difficile la vita senza di esse. Anche se siete nuovi alla programmazione, Eclipse può essere un ottimo IDE per iniziare, perché una volta che l’avete imparato, potete probabilmente usarlo per la maggior parte o tutto il resto su cui lavorate, indipendentemente dal linguaggio.
PyDev aggiunge un enorme numero di caratteristiche a Eclipse, ben oltre la semplice evidenziazione del codice. Gestisce il completamento del codice, integra il debugging di Python, aggiunge un browser di token, strumenti di refactoring e molto altro. Nel caso si stia lavorando con il popolare framework web Django Python, allora si può sfruttare PyDev per creare nuovi progetti Django, eseguire azioni Django con tasti di scelta rapida, e utilizzare una configurazione di esecuzione separata specifica per Django.
Eclipse e PyDev sono entrambi disponibili sotto la Eclipse Public License.
Altre grandi opzioni
L’elenco di editor Python open source e ambienti di sviluppo integrati è lungo. Qui ci sono alcuni altri esempi interessanti.
- PyScripter, LeoEditor, e PTK (il Python Tool Kit) sono strumenti per lavorare con il codice Python. E naturalmente c’è IDLE, l’IDE predefinito confezionato con Python.
- Geany, Atom e Brackets sono editor di codice generici con supporto a Python tramite plugin.
- Netbeans e VS Codium sono IDE generici open source che, come Eclipse, possono essere trasformati in editor Python con plugin ed estensioni selezionate.
- La maggior parte degli editor di codice estensibili probabilmente avranno il supporto a Python. Per esempio, Emacs può essere un vero e proprio IDE Python se si sa quali pacchetti e configurazioni usare. L’editor Kate di KDE ha l’evidenziazione della sintassi, il collasso del codice e il supporto alla directory del progetto di default, più ulteriori estensioni per aiutare lungo il percorso.
La cosa importante da capire su un IDE o editor Python è che la scelta migliore è quella che risolve un problema. Se siete sopraffatti dalle opzioni e dalle configurazioni, allora scegliere un IDE o un editor di testo leggero e semplice può essere appropriato. Se volete qualcosa che vi aiuti a scrivere codice più pulito con meno errori, allora un editor ricco di funzionalità con caching e linting potrebbe servirvi meglio. Provate alcuni di quelli elencati qui, o quelli che trovate da soli, e vedete quale funziona per voi. Dopo tutto, uno dei punti di forza dell’open source è la scelta.
Questa non è una lista completa di soluzioni di editing per Python. Per una lista (quasi) completa, controllate le liste della Python Foundation degli ambienti di sviluppo integrati e degli editor per Python. Ci siamo persi il tuo preferito? Fateci sapere qual è nei commenti qui sotto, e diteci perché è la vostra scelta migliore.
Questo articolo è stato originariamente pubblicato nell’ottobre 2015 ed è stato aggiornato per includere ulteriori informazioni.
Sei interessato a leggere altri articoli come questo? Iscriviti alla nostra newsletter settimanale via email.