1 12/05/2026 10 min

Installare Jupyter Notebook su Windows 10 senza Anaconda

Se vuoi Jupyter Notebook su Windows 10 senza portarti dietro Anaconda, la strada più pulita è usare l’installazione standard di Python, creare un ambiente virtuale e installare solo i pacchetti che ti servono. È un approccio più leggero, più facile da aggiornare e soprattutto più controllabile quando devi capire cosa c’è davvero nel sistema.

Il punto non è solo “far partire Jupyter”. Il punto è evitare di sporcare il Python di sistema, tenere separati i progetti e ridurre gli attriti quando un notebook non si avvia, non vede il kernel o si porta dietro dipendenze vecchie. Su Windows 10 questo conta ancora di più, perché i problemi tipici arrivano spesso da PATH, permessi, launcher e conflitti tra versioni di Python.

Scelta architetturale: Python ufficiale, venv e pip

La combinazione minima sensata è questa: Python per Windows installato dal sito ufficiale, un ambiente virtuale per progetto creato con venv, e pip per installare Jupyter Notebook. In pratica separi il runtime dal sistema operativo e non dipendi da distribuzioni più pesanti che includono anche tool che magari non userai mai.

Se hai bisogno di un solo notebook per fare test o scripting, puoi anche installare Jupyter nel tuo profilo utente. Se invece lavori su più progetti, il virtual environment è la scelta giusta: ti permette di bloccare le versioni dei pacchetti e di cancellare tutto senza lasciare residui.

Verifica preliminare: cosa deve esserci prima di partire

Prima di installare Jupyter, verifica di avere Python 3 installato e raggiungibile da prompt. Su Windows 10 il controllo più semplice è aprire PowerShell o Prompt dei comandi e controllare la versione effettiva che il sistema vede.

Esegui:

python --version
py --version

Se uno dei due comandi risponde con una versione 3.x, sei a posto per iniziare. Se python apre il Microsoft Store o restituisce un errore, significa che il mapping del launcher non è quello giusto. In quel caso usa py oppure reinstalla Python dal sito ufficiale e abilita l’opzione per aggiungerlo al PATH.

Se vuoi controllare in modo più preciso quale eseguibile viene usato, fai anche:

where python
where py

Il risultato utile è vedere un percorso coerente, ad esempio dentro C:\Users\TUO_UTENTE\AppData\Local\Programs\Python\Python3x\. Se compaiono più installazioni, non è un problema in sé, ma devi sapere quale interpreter stai usando per evitare di installare Jupyter nel posto sbagliato.

Installazione di Python su Windows 10 senza Anaconda

Scarica Python dal sito ufficiale e scegli la versione stabile più adatta al tuo scenario. Durante l’installazione, non saltare la casella Add Python to PATH: ti evita parecchio lavoro manuale dopo. Se lavori su una macchina condivisa o con policy restrittive, puoi installare solo per l’utente corrente, senza toccare il sistema globale.

Dopo l’installazione, riapri il terminale e ricontrolla:

python --version
pip --version

Qui l’obiettivo non è solo vedere un numero di versione, ma verificare che pip sia associato allo stesso interprete di python. Se python e pip puntano a installazioni diverse, la gestione dei pacchetti diventa incoerente e prima o poi ti trovi con un notebook che “non vede” librerie che pensavi già installate.

Creare un ambiente virtuale per Jupyter Notebook

Dentro la cartella del progetto crea un ambiente virtuale dedicato. Questo ti permette di isolare Jupyter e le librerie correlate dal resto del sistema. È la parte più importante della procedura, perché evita di installare pacchetti in modo permanente nel Python globale.

Comandi consigliati:

mkdir C:\progetti\jupyter-demo
cd C:\progetti\jupyter-demo
py -m venv .venv

Se preferisci usare un altro percorso, va bene uguale. L’importante è che l’ambiente sia vicino al progetto e che tu sappia dove si trova. Su Windows, tenere il virtual environment nella cartella del progetto rende anche più semplice fare backup o cancellare tutto quando il test è finito.

Attiva l’ambiente con:

.venv\Scripts\activate

Quando l’attivazione è riuscita, il prompt cambia e compare il nome dell’ambiente all’inizio della riga. Se non succede, probabilmente stai usando un terminale con policy restrittive o stai eseguendo il comando in una shell diversa da quella prevista.

Per controllare che l’ambiente sia davvero attivo, verifica il percorso dell’interprete:

where python
python -c "import sys; print(sys.executable)"

Il percorso atteso deve puntare a .venv\Scripts\python.exe. Se non è così, fermati prima di installare altro: stai usando il Python sbagliato.

Installare Jupyter Notebook con pip

Con l’ambiente attivo, installa Jupyter Notebook. Per un setup classico basta il pacchetto notebook, che porta con sé il necessario per usare l’interfaccia web e gestire i kernel Python.

python -m pip install --upgrade pip
python -m pip install notebook

Usare python -m pip è più affidabile di chiamare pip direttamente, perché garantisce che stai operando sull’interprete attivo. Su Windows questo dettaglio evita molti falsi positivi: il comando parte, il pacchetto si installa, ma poi non è quello che userai davvero nel notebook.

Se vuoi anche un set minimo utile per analisi dati o lavoro tecnico, puoi aggiungere librerie comuni come ipykernel, pandas e matplotlib:

python -m pip install ipykernel pandas matplotlib

Non installare roba a caso “tanto per provare”: è il modo più veloce per perdere il controllo dell’ambiente. Parti dal minimo e aggiungi solo quello che ti serve davvero.

Avviare Jupyter Notebook da Windows 10

Per avviare il server, usa il comando:

jupyter notebook

Se il comando non è riconosciuto, non significa per forza che l’installazione sia fallita. Significa spesso che il virtual environment non è attivo oppure che lo script launcher non è nel PATH della sessione corrente. In quel caso verifica prima il punto precedente e poi riprova.

Quando parte correttamente, Jupyter apre il browser con una URL locale, spesso su http://localhost:8888 o su una porta libera simile. Nel terminale vedrai anche il token di accesso. Quel token non è un segreto “da condividere”, ma è comunque un dato sensibile della sessione: non copiarlo in chiaro in documenti o chat.

Se vuoi evitare l’apertura automatica del browser, puoi usare:

jupyter notebook --no-browser

Questa opzione è utile quando lavori su desktop remoto, in ambienti con browser bloccati o quando vuoi aprire tu manualmente l’URL generata.

Creare un kernel dedicato per il progetto

Se usi più ambienti virtuali, conviene registrare ogni ambiente come kernel separato. Così nel notebook puoi scegliere esattamente l’interprete giusto invece di affidarti a quello predefinito.

Installa prima ipykernel se non l’hai già fatto, poi registra il kernel:

python -m pip install ipykernel
python -m ipykernel install --user --name jupyter-demo --display-name "Python (jupyter-demo)"

Il parametro --name identifica il kernel internamente, mentre --display-name è quello che vedrai nell’interfaccia. Se il kernel non compare in Jupyter, controlla l’output di installazione e verifica che il pacchetto sia stato registrato nel profilo utente corretto.

Per controllare i kernel disponibili puoi usare:

jupyter kernelspec list

Questo comando è molto utile quando hai più ambienti o hai fatto prove precedenti. Ti mostra il percorso esatto del kernel e ti evita di scegliere a occhio.

Problemi tipici su Windows 10 e come leggerli

Il primo problema classico è il comando non trovato. Quasi sempre è una questione di ambiente non attivo o PATH non aggiornato. Il secondo è il browser che si apre ma la pagina non carica: qui devi guardare il terminale di Jupyter, perché il server ti dice già se la porta è occupata o se c’è stato un errore di avvio.

Se la porta 8888 è occupata, Jupyter ne sceglie un’altra. Se vuoi forzarne una specifica, puoi farlo così:

jupyter notebook --port 8889

Se invece ricevi errori di permesso o blocchi sul firewall, il problema non è Jupyter in sé ma la rete locale della macchina. Su una postazione singola di solito basta rimanere su localhost; se invece esponi il server sulla rete, devi valutare attentamente il rischio e configurare l’accesso in modo esplicito, non lasciando il notebook aperto a chiunque sulla LAN.

Altro caso frequente: notebook che si apre ma non esegue le celle. Qui il sospetto va al kernel, non al server. Controlla il menu del kernel nella UI e verifica che l’interprete attivo sia quello dell’ambiente virtuale. Se il kernel è morto, in genere lo vedi subito da stato o log del notebook.

Gestione pulita di aggiornamenti e rimozione

Uno dei vantaggi di non usare Anaconda è la manutenzione più semplice. Per aggiornare il pacchetto notebook o altri componenti, resta dentro l’ambiente virtuale e usa pip in modo esplicito. Per esempio:

python -m pip install --upgrade notebook

Se vuoi capire cosa hai installato, puoi elencare i pacchetti con:

python -m pip list

Per rimuovere tutto in modo reversibile, spesso la soluzione migliore è cancellare direttamente la cartella dell’ambiente virtuale. È brutale ma pulita: se il progetto è dentro .venv, basta eliminare quella directory e ripartire. Prima di farlo, assicurati di non avere file di lavoro non salvati.

Se invece hai installato Jupyter globalmente nel profilo utente, puoi disinstallarlo con:

python -m pip uninstall notebook

La regola pratica è semplice: se il progetto è serio, preferisci l’ambiente virtuale; se è una prova rapida, puoi anche usare installazione utente, ma sapendo che la pulizia sarà meno elegante.

Buone pratiche operative per non ritrovarti con un setup fragile

Il primo consiglio è banale ma spesso ignorato: non mischiare notebook di progetti diversi nella stessa cartella senza struttura. Tieni una directory per progetto, un ambiente per progetto e, se serve, un file requirements.txt per fissare le dipendenze.

Per creare un file requisiti puoi partire da un ambiente già funzionante e salvare lo stato con:

python -m pip freeze > requirements.txt

Così, su un altro PC o dopo una reinstallazione, puoi ricreare l’ambiente con precisione. È un’abitudine piccola ma molto utile quando lavori in team o quando devi riprodurre un errore su una macchina diversa.

Un altro dettaglio che fa la differenza è l’uso di nomi chiari per i kernel e per le cartelle di progetto. Evita etichette generiche come “test” o “prova2”: dopo qualche settimana non ricordano più nulla a nessuno, e su Windows il caos dei percorsi si sente subito.

Infine, se devi aprire Jupyter in ambienti con policy aziendali o server remoti, non dare per scontato che il comportamento sia identico a quello del PC personale. Firewall, proxy, antivirus e criteri di esecuzione possono cambiare parecchio. In quei casi conviene leggere il log di avvio del notebook e non limitarsi alla finestra del browser.

Sequenza consigliata in pratica

Se vuoi una procedura rapida e pulita, la sequenza minima è questa:

  1. Installa Python ufficiale per Windows e verifica python --version.
  2. Crea una cartella progetto e un ambiente virtuale con py -m venv .venv.
  3. Attiva l’ambiente con .venv\Scripts\activate.
  4. Aggiorna pip con python -m pip install --upgrade pip.
  5. Installa Jupyter con python -m pip install notebook.
  6. Avvia il server con jupyter notebook.
  7. Se lavori su più ambienti, registra il kernel con ipykernel.

Questa è la versione che uso quando voglio un setup leggibile, riproducibile e senza zavorra. Non è la strada più “automatica”, ma è quella che ti lascia il controllo in mano quando qualcosa non torna.

Quando ha senso non usare Anaconda

Ha senso evitare Anaconda quando ti serve solo Jupyter, quando vuoi ridurre il peso dell’installazione o quando sei in un contesto in cui il controllo fine dell’ambiente è più utile di una distribuzione monolitica. Anche su macchine non potenti, partire con Python e pip è spesso più veloce e meno invasivo.

Se invece lavori con stack scientifici molto ampi e vuoi una distribuzione preconfezionata, puoi avere motivi validi per scegliere altro. Ma se il requisito è “Jupyter Notebook su Windows 10 senza Anaconda”, la procedura sopra è quella giusta: semplice, isolata e facile da manutenere.