Se lavori come data scientist e ti affidi a Python, potresti chiederti quali siano i vantaggi di usare un ambiente di sviluppo integrato (IDE) come PyCharm. Grazie alla leggibilità e alla semplicità del codice Python, puoi facilmente apportare modifiche con un semplice editor di testo e poi chiedere a un interprete Python di eseguire il tuo codice. Quindi, perché usare un IDE pesante e complesso per ottenere lo stesso risultato?
Nelle sezioni seguenti, risponderemo a questa domanda spiegando quali problemi specifici può risolvere PyCharm e come puoi trarre beneficio dal suo utilizzo.
Perché ti serve PyCharm?
Avere un buon ambiente di sviluppo è un passo fondamentale per aumentare la produttività. In Python non c’è solo la scrittura del codice: ci sono test, debug, gestione di ambienti e pacchetti, controllo di versione e molte altre operazioni ripetitive che non sono sempre esplicite. Un IDE per Python come PyCharm ti aiuta a concentrarti sul processo di sviluppo semplificando il resto, perché include numerose funzionalità come evidenziazione della sintassi, indentazione automatica, strumenti di debug, ecc.
Installare e configurare PyCharm
Prima di procedere con l’installazione di PyCharm, assicurati che l’hardware soddisfi i requisiti tecnici necessari per installare ed eseguire il software. L’elenco dei requisiti è disponibile sul sito di JetBrains, ma, per citarne alcuni, il tuo computer deve:
- Disporre di almeno 4 GB di RAM (8 GB consigliati)
- Disporre di almeno 2,5 GB di spazio su disco e 1 GB per le cache
- Avere già installato Python 2.7 o Python 3.6 (o versioni successive) L’installazione di PyCharm è simile a quella di altri software e può essere eseguita come segue:
- Per prima cosa, vai al sito di JetBrains, da cui puoi scaricare l’IDE. La schermata sarà la seguente:

- Ci sono varie opzioni a seconda del sistema operativo. L’opzione predefinita corrisponde al sistema che stai usando, rilevato non appena apri il sito (per i computer con Windows l’opzione predefinita sarà Windows).

- Fai clic sul pulsante Download relativo al tuo sistema operativo. Il download potrebbe richiedere un momento.
Se scarichi l’edizione Professional, potrai sfruttare le funzionalità esclusive incluse durante il periodo di prova gratuito di 30 giorni. Successivamente dovrai acquistare una licenza per continuare a usarla, mentre se scarichi l’edizione Community potrai usare PyCharm gratuitamente subito dopo l’installazione.
Una volta completato il download, apri il file explorer nella cartella in cui è stato scaricato il file. Ora puoi iniziare il processo di installazione:
- Esegui il file pycharm-2021.3.exe e segui i passaggi della procedura guidata. La schermata sarà simile alla seguente:

Scegli Next e segui i passaggi della procedura guidata di installazione:

- Tieni presenti le seguenti opzioni durante l’installazione:
- 64-bit launcher: crea un’icona di avvio sul desktop.
- Open Folder as Project: aggiunge al menu contestuale delle cartelle un’opzione per aprire la directory selezionata come progetto PyCharm.
- .py: associa i file Python in modo da aprirli in PyCharm.
- Add launchers dir to the PATH: consente di eseguire questa istanza di PyCharm dal terminale senza specificarne il percorso.
Per avviare il nuovo IDE installato, lo trovi nel menu Start di Windows o tramite il collegamento creato sul desktop.
Panoramica dell’interfaccia utente
Quando avvii l’IDE, la schermata dovrebbe essere simile a questa:

Il tuo PyCharm potrebbe apparire diverso rispetto allo screenshot, a seconda dei plugin, dell’edizione scelta e delle impostazioni. Di seguito spieghiamo il ruolo di alcuni componenti:
-
Editor Puoi usarlo per manipolare (leggere/scrivere/esplorare) il tuo codice.
-
Indicatori di azione e elenco azioni Le icone nel margine sinistro dell’editor ti aiutano a trovare correzioni rapide e altre azioni.
-
Barra di navigazione Semplifica la navigazione nella struttura del progetto e l’apertura dei file per la modifica.
-
Barra di stato Mostra gli avvisi degli eventi recenti e le descrizioni delle azioni quando ci passi sopra con il mouse.
-
Finestra principale La finestra principale include tutte le informazioni per un singolo progetto.
Modificare le scorciatoie
PyCharm ti permette di adattare rapidamente l’ambiente di sviluppo alle tue preferenze. Puoi facilmente mantenere le tue scorciatoie preferite cercandole, modificandole e personalizzandole. In questo modo aumenti la produttività e accedi più velocemente alle funzionalità.
Apri la finestra di dialogo Settings/Preferences con Ctrl+Alt+S per visualizzare la configurazione delle scorciatoie e seleziona Keymap.
Questo elenco contiene azioni e attività disponibili a cui puoi aggiungere o personalizzare le scorciatoie; sono ordinate per aiutarti a trovare azioni specifiche.

Vediamo alcuni esempi. Per l’azione Join Lines, vedi che è associata alla scorciatoia (Control + Shift + J) su Windows. Inoltre, nell’elenco sono presenti elementi disponibili; alcuni non sono ancora associati ad alcuna scorciatoia (ad esempio, Move Caret Backward a Paragraph). Puoi però attribuire loro combinazioni di tasti facendo clic destro sulle azioni e creando una Keyboard Shortcut o una Mouse Shortcut.
Personalizzare il tema dell’editor
Più usi gli IDE, più ti conviene personalizzare il tema dell’editor indipendentemente dal tema generale dell’ambiente. Molti sviluppatori amano personalizzare aspetti del codice, come il font. Ad esempio, lo schema mostrato sotto (tema dell’Editor) è Darcula (conosciuto in molti editor come tema scuro).

Puoi anche personalizzare l’andata a capo delle linee, che definisce quanto può essere lunga una riga di codice nell’editor. Secondo la guida di stile PEP 8 per il codice Python, la lunghezza massima consigliata per una riga è 79 caratteri, quindi è consigliabile impostare questo valore a 79. Specificandolo, l’IDE mostrerà una linea verticale alla 79ª colonna, indicando il punto in cui il programmatore dovrebbe andare a capo.
Esplorare le funzionalità principali dell’editor
Secondo lo sviluppatore, JetBrains, PyCharm si basa su due principi chiave:
- Aumento della produttività: PyCharm facilita il lavoro dei data scientist sulla costruzione dei modelli eliminando gli aspetti ripetitivi e poco creativi della programmazione in Python.
- Assistenza in tempo reale: PyCharm offre funzionalità intelligenti per affrontare le incongruenze controllando in tempo reale la logica per errori, lo stile PEP 8 e suggerendo correzioni rapide, tra le altre funzioni essenziali. PyCharm offre anche diverse funzionalità di livello superiore che favoriscono questi principi:
- Supporto al calcolo scientifico: Pycharm include molte funzionalità che semplificano il lavoro dei data scientist facilitando il calcolo scientifico tramite IPython note e console interattiva.
- Assistenza intelligente al coding: PyCharm offre completamento del codice, analisi della sintassi e degli errori, oltre a modalità automatizzate per il refactoring del codice.
- Strumenti per programmatori semplificati: PyCharm consente ai data scientist di effettuare debug, test e gestione del codice in modo efficiente.
- Opzioni per lo sviluppo web: PyCharm supporta progetti di sviluppo web, come i framework web Python, e altri elementi principali come JavaScript.
Creare un nuovo progetto
Ora che abbiamo visto come PyCharm semplifica il processo di sviluppo, è il momento di creare il primo progetto.
- Se l’installazione è andata a buon fine, ora potrai avviare l’IDE senza errori. La schermata di benvenuto dovrebbe essere simile alla seguente:

- Fai clic sul pulsante New Project per completare il processo. PyCharm ti porterà in un’altra finestra per inserire i dettagli del nuovo progetto. Per impostazione predefinita, suggerisce i parametri mostrati nello screenshot seguente:

Adatta le impostazioni del progetto alle tue esigenze e fai clic su Create.

Se vuoi aggiungere un nuovo file al progetto, fai clic destro sul progetto nel pannello di sinistra e scegli New | Python File. Puoi creare più tipi di file, ma per ora selezioniamo Python.

Apparirà una finestra per rinominare il file e scegliere il tipo di file da creare, come mostrato di seguito:

Puoi usare qualsiasi nome per il file. Non serve aggiungere ".py" al nome perché hai già specificato che stai creando un file Python. Fai clic su OK per procedere.
Il file è stato creato con successo e si apre per impostazione predefinita. Proviamo a scrivere un po’ di codice ed eseguirlo. Prendiamo un semplice esempio che stampa "Hello, World!":

Per eseguirlo in PyCharm, vai alla scheda Run e scegli "Run" come mostrato di seguito:

Dopo questa operazione apparirà una finestra; seleziona first_file (o il nome che hai scelto per il tuo file) per eseguire il codice. Comparirà quindi il pannello Run di PyCharm, che mostra varie informazioni come percorso, stato e output del programma Python appena eseguito. Ci sono altri modi per eseguire il programma: puoi selezionare il pulsante verde a sinistra del pannello Run per eseguire di nuovo il file. Questa azione ha la scorciatoia predefinita Ctrl + Shift + R su macOS e Ctrl + Shift + F10 su Windows. Puoi personalizzare le scorciatoie nelle impostazioni Keymap viste in precedenza. Questa opzione riesegue l’ultimo file eseguito, quindi puoi usarla per lanciare più volte di seguito lo stesso file. Tuttavia, non è possibile quando esegui più file. PyCharm semplifica molte parti del processo di sviluppo, e ciò che abbiamo visto finora è solo la punta dell’iceberg di ciò che questo potente IDE può fare per te come data scientist o sviluppatore Python. Nella prossima sezione vedremo come aumentare ulteriormente la produttività.
Scrivere codice in modo produttivo
Nello sviluppo software o nell’implementazione di un progetto di data science ci sono molti aspetti oltre al coding; queste attività includono test, debug e profiling. Tuttavia, per via della loro complessità e della profondità di conoscenze richiesta, molti sviluppatori ne restano intimoriti e tendono a saltarle nei propri progetti.
Fortunatamente, qui entra in gioco PyCharm, offrendo un modo pratico per seguire le buone pratiche di programmazione in tempo reale mentre costruisci i tuoi progetti. Inoltre, anche le noiose attività di gestione di pacchetti, interpreti e ambienti virtuali sono trattate in modo semplice. PyCharm non solo fornisce metodi intuitivi e grafici per farlo, ma offre in parallelo assistenza intelligente al coding, evidenziazione della sintassi e suggerimenti.
Debug
L’obiettivo del debug è individuare le cause dei bug trovati nel programma durante i test e quindi adattare il codice per ottenere il risultato corretto e desiderato.
Un data scientist o uno sviluppatore Python monitora, durante il debug, le interazioni tra le variabili del programma e le loro variazioni. Puoi indagare le possibili cause degli errori osservando come ciascuna funzione, metodo o persino singola riga di codice modifica il valore e il comportamento delle variabili.
Esistono diversi approcci al debug utilizzati da programmatori o data scientist in Python:
- Print debugging: puoi aggiungere istruzioni di stampa tra i comandi del programma per mostrare i valori delle variabili che ritieni responsabili dei bug. Analizzando questi valori e come cambiano nel tempo, puoi vedere gli effetti di ogni riga di codice sulle variabili in esame.
- Logging: consiste nel tenere traccia degli eventi che avvengono durante l’esecuzione del programma. Questo approccio è comunemente usato dagli amministratori di server, che gestiscono frequentemente crash e altri problemi di affidabilità.
- Tracing: puoi tracciare dettagli a basso livello, a livello di linguaggio macchina, sull’esecuzione del programma. È utile per approfondire la causa di un bug o errore radicato in un linguaggio di programmazione.
- Uso di un debugger: è il metodo meno comune e consiste nell’usare un programma separato, chiamato debugger, per effettuare il debug del codice. Tuttavia, in genere è il metodo più solido perché i debugger sono polivalenti e offrono vari approcci per monitorare i cambiamenti nel programma.
Di solito, il print debugging può andare bene in programmi piccoli o medi. Tuttavia, in programmi grandi, usare un debugger può aiutarti a risparmiare tempo e aumentare la produttività.
Vediamo ora un esempio in PyCharm. Qui abbiamo creato un file Python che contiene il seguente codice:

In questo file, abbiamo una funzione chiamata assignFirstElement(), che accetta due parametri: una lista e un numero, e assegna quel valore numerico al primo elemento della lista in input.
Nel programma, inizializziamo una lista di tre numeri (0, 1 e 2) e la assegnamo alla variabile list. Poi la variabile list viene assegnata a new_list in modo che abbiano lo stesso valore. Successivamente, chiediamo all’utente di inserire un numero e poi chiamiamo assignFirstElement() su list per cambiare il primo elemento della lista dalla console. Infine, stampiamo i valori di list e new_list.
Se conosci altri linguaggi come C, potresti aspettarti che dopo la chiamata di assignFirstElement() su list, tu abbia [x,1,2], mentre new_list rimanga [0,1,2]. Tuttavia, se esegui il programma, otterrai quanto segue:

Questo mostra che sia list sia new_list sono stati modificati allo stesso modo, il che non è in linea con l’ipotesi iniziale. Per capire il problema, PyCharm semplifica il processo di debug, rendendo più facile indagare rapidamente gli errori e correggerli. Detto ciò, puoi semplicemente posizionare alcuni breakpoint nel file come segue:

Poi esegui il codice in modalità debug per seguirne l’esecuzione passo dopo passo, in base ai breakpoint impostati.

Dopo aver avviato la modalità debug, si aprirà la console di debug, che apparirà simile allo screenshot seguente:

La console rende più semplice indagare cosa è andato storto e osservare i valori delle variabili e l’output di ogni riga di codice durante l’esecuzione.
Test
Il testing è una delle parti più critiche di qualsiasi processo di sviluppo software. Un codice ben testato rende più semplice raggiungere una qualità a livello di produzione. Il testing non è solo per gli sviluppatori software: per i data scientist è fondamentale per sviluppare modelli robusti, performanti e accurati per i progetti futuri.
Si possono eseguire molti test sul codice, a partire dalla prima fase, i test di unità. Probabilmente ne hai sentito parlare spesso o li hai già fatti. In Python i test di unità sono supportati dal modulo unittest, che offre funzionalità simili ai framework di unit testing comuni in altri linguaggi.
Vediamo un esempio per comprendere rapidamente il concetto di unit testing:
Per prima cosa, creiamo un file di test di unità. Fai clic destro sul progetto e seleziona New Python file.

Apparirà un popup simile a questo:

Inserisci il nome del file e scegli Python unit test.
Quindi copia e incolla il codice seguente nel nuovo file:
from unittest import TestCase
class simpleOperationsTest(TestCase):
def test_div(self):
self.assertEqual(4 / 2, 2)
def test_sub(self):
self.assertEqual(7 - 3, 4)
class StringTest(TestCase):
def test_case(self):
self.assertTrue('Data'.isupper())
self.assertFalse('CAMP'.isupper())
Le classi simpleOperationsTest e StringTest, in cui sono creati i test di unità, ereditano entrambe dalla classe TestCase del modulo unittest. Inseriamo semplicemente i metodi di test nelle classi pertinenti per implementare diversi unit test.
Il modo più comune per eseguire questi test di unità in Python è tramite riga di comando. Il modulo può essere incluso in un comando Python per eseguire test da file, classi e singoli metodi di test.
Puoi usare il pannello Terminal di PyCharm o aprire il terminale del tuo sistema e navigare fino alla cartella di lavoro.
Per eseguire i test, usa il comando seguente:
Python -m unittest TestFile

Oppure puoi sfruttare la potenza di PyCharm usando le frecce di esecuzione come segue:

Integrazioni di PyCharm con il controllo di versione
Per integrare il controllo di versione con PyCharm, fai clic su VCS, quindi scegli Enable Version Control. Apparirà una finestra simile alla seguente:

PyCharm si integra con molti strumenti di controllo di versione, ma per il momento scegliamo Git dall’elenco a discesa e facciamo clic su OK. Ora vedrai che VCS è abilitato per il progetto.
Dopo aver creato il repository Git, nel pannello del progetto apparirà il pannello Version Control:

Ora, se vai al menu in alto, vedrai diverse opzioni sotto Git che puoi usare: git add, git stash, git branch, git commit, git push e altro.

Per aggiungere un file specifico a Git, puoi andare in VCS | Git | Add nella barra dei menu o usare la scorciatoia da tastiera corrispondente.

Puoi anche selezionare più file contemporaneamente nel pannello Version Control e aggiungerli a Git. Per aggiungere tutti i file non versionati a Git, puoi anche selezionare direttamente la sezione dei file non versionati e richiamare l’azione Add.
Noterai poi che effettuare un commit nel repository è abbastanza semplice e molto simile a quanto visto per l’aggiunta. Per fare commit dei file evidenziati in verde nella sezione Default Change list, fai clic destro su di essi e seleziona Commit, oppure usa la scorciatoia corrispondente.

Puoi anche inserire un messaggio di commit sullo scopo della modifica, che verrà visualizzato su GitHub.

L’ultimo passaggio sarà effettuare il push del codice committato nello step precedente su GitHub. Per farlo, vai su VCS | Git | Push. Apparirà un’altra finestra popup come quella qui sotto. Seleziona Push per completare l’operazione.

Domande frequenti
PyCharm è il miglior IDE per lo sviluppo in Python?
PyCharm è un IDE ampiamente utilizzato per Python. Secondo JetBrains, la quota combinata delle edizioni Community e Professional di PyCharm è del 33%, in linea con i risultati dell’anno scorso. VS Code continua a crescere, guadagnando il 5% rispetto all’anno precedente. Al contrario, la maggior parte degli editor di testo come Vim o Sublime Text ha visto diminuire i tassi d’uso. La quota di sviluppatori web che usano PyCharm è quasi doppia rispetto agli utenti che lavorano con i dati, e la differenza è particolarmente marcata per l’edizione Professional di PyCharm.
PyCharm è gratuito?
È importante sapere quale edizione stai usando sul tuo computer. PyCharm Community è gratuito e non richiede alcuna licenza. L’edizione Professional, invece, offre solo una prova di 30 giorni, dopodiché dovrai acquistare una licenza per usarla.
PyCharm si integra con dei plugin?
PyCharm offre un gran numero di plugin per molteplici scopi e applicazioni. Uno dei plugin più noti è l’AWS Toolkit for PyCharm, un plug-in open source per l’IDE PyCharm che semplifica la creazione, il debug e la distribuzione di applicazioni Python su Amazon Web Services.
Conclusione
PyCharm è uno degli IDE più potenti per la data science, perché rende più semplice per i data scientist concentrarsi su attività a priorità più alta, come costruire e ottimizzare i modelli. Semplifica attività spesso considerate complesse o dispendiose in termini di tempo, come test, debug e profiling. Lo strumento offre molte integrazioni e personalizzazioni per una migliore esperienza d’uso.

