Jupyter - Guida rapida

Project Jupyter è una suite di prodotti software utilizzati nell'elaborazione interattiva. IPython è stato originariamente sviluppato da Fernando Perez nel 2001 come interprete Python migliorato. Un'interfaccia basata sul web per il terminale IPython sotto forma di notebook IPython è stata introdotta nel 2011. Nel 2014, il progetto Jupyter è stato avviato come progetto spin-off di IPython.

I pacchetti nell'ambito del progetto Jupyter includono:

  • Jupyter notebook - Un'interfaccia basata sul web per gli ambienti di programmazione di Python, Julia, R e molti altri

  • QtConsole - Terminale basato su Qt per kernel Jupyter simile a IPython

  • nbviewer - Possibilità di condividere i taccuini Jupyter

  • JupyterLab - Moderna interfaccia integrata basata sul web per tutti i prodotti.

La distribuzione standard di Python include un file REPL (Read-Evaluate-Print Loop) ambiente sotto forma di shell Python con >>>richiesta. IPython (sta per Interactive Python) è un ambiente interattivo avanzato per Python con molte funzionalità rispetto alla shell Python standard.

Caratteristiche di IPython

IPython offre più funzionalità rispetto allo standard Python. Sono i seguenti:

  • Offre una potente shell Python interattiva.

  • Funge da kernel principale per notebook Jupyter e altri strumenti front-end di Project Jupyter.

  • Possiede capacità di introspezione dell'oggetto. L'introspezione è la capacità di controllare le proprietà di un oggetto durante il runtime.

  • Evidenziazione della sintassi.

  • Memorizza la cronologia delle interazioni.

  • Completamento con tabulazione di parole chiave, variabili e nomi di funzioni.

  • Sistema di comando magico utile per controllare l'ambiente Python e svolgere le attività del sistema operativo.

  • Possibilità di essere incorporato in altri programmi Python.

  • Fornisce accesso al debugger Python.

Storia e sviluppo

IPython è stato originariamente sviluppato da Fernando Perez nel 2001. La sua versione attuale è IPython7.0.1 che richiede la versione Python 3.4 o superiore. IPython 6.0 è stata la prima versione a supportare Python 3. Gli utenti che hanno Python 2.7 dovrebbero lavorare con la versione di IPython dalla 2.0 alla 5.7

Il concetto di notebook computazionali è iniziato nel decennio degli anni '80 quando sono stati rilasciati MATLAB e Mathematica. Questi frontend GUI alla shell interattiva avevano funzionalità come la formattazione del testo, l'aggiunta di grafici, tabelle e l'aggiunta di simboli matematici. Il notebook Sage è anche un notebook basato sul Web.

I creatori di IPython hanno iniziato a lavorare sull'interfaccia del notebook per la shell IPython nel 2005. IPython notebook ha presto aggiunto il supporto di altri linguaggi come R e Julia. È stato nel 2014 che Perez ha avviato il progetto Jupyter come progetto spin-off di IPython, poiché il progetto IPython stava diventando grande con prodotti come server notebook e console Qt aggiunti ad esso.

A partire da IPython 4.0, tutti i componenti aggiuntivi sono stati spostati in Project Jupyter e hanno aggiunto il supporto di altri linguaggi al notebook IPython. IPython continua a concentrarsi sul miglioramento della sua funzionalità di interprete avanzata. Fornisce inoltre il kernel principale al frontend del notebook Jupyter.

IPython è incluso per impostazione predefinita nella distribuzione Anaconda di Python. Può essere scaricato dalla pagina di download di Anaconda www.anaconda.com/download/ I binari per tutti i principali sistemi operativi (Windows, MacOS e Linux) e l'architettura (32 bit e 64 bit) sono disponibili su questo link.

Per installare IPython separatamente nell'installazione standard di Python, puoi utilizzare il comando pip come mostrato di seguito:

pip3 install ipython

IPython utilizza internamente i seguenti pacchetti:

Sr.No. Dipendenze e funzionalità IPython
1

colorama

API multipiattaforma per la stampa di testo terminale colorato da Python

2

jedi

Uno strumento di completamento automatico per Python

3

pickleshare

Piccolo "scaffale" come datastore con supporto della concorrenza

4

prompt_toolkit

Libreria per creare potenti righe di comando interattive in Python

5

pygments

Pacchetto di evidenziazione della sintassi scritto in Python

6

simplegeneric

Semplici funzioni generiche

7

traitlets

Sistema di configurazione per applicazioni Python.

In generale, tutte le dipendenze vengono installate automaticamente. Altrimenti, puoi installarli individualmente usando pip.

Questo capitolo spiegherà come iniziare a lavorare su IPython.

Avvio di IPython dal prompt dei comandi.

Prima di procedere alla comprensione approfondita di IPython, nota che invece del normale >>>, noterai due principali prompt di Python come spiegato di seguito:

  • In[1] appare prima di qualsiasi espressione di input.

  • Out[1] appare prima dell'output.

Inoltre, i numeri tra parentesi quadre vengono incrementati automaticamente. Osserva lo screenshot seguente per una migliore comprensione:

Ora, se hai installato la distribuzione Anaconda di Python, apri il prompt di Anaconda dal menu di avvio.

Avvia IPython dal prompt di conda

Rispetto alla normale console Python, possiamo notare una differenza. La shell IPython mostra l'evidenziazione della sintassi utilizzando diversi schemi di colori per diversi elementi come espressione, funzione, variabile ecc.

Un altro miglioramento utile è il completamento con tabulazioni. Sappiamo che ogni oggetto ha uno o più metodi disponibili come definito nella sua classe. IPython fa apparire un elenco appropriato di metodi quando si preme il tasto Tab dopo il punto davanti all'oggetto.

Nell'esempio seguente, viene definita una stringa. In risposta, vengono mostrati i metodi della classe string.

IPython fornisce informazioni su qualsiasi oggetto inserendo "?" davanti ad esso. Include docstring, definizioni di funzioni e dettagli del costruttore della classe. Ad esempio, per esplorare l'oggetto stringa var definito sopra, nel prompt di input immetterevar?. Il risultato mostrerà tutte le informazioni su di esso. Osservare lo screenshot fornito di seguito per una migliore comprensione -

Funzioni magiche

Le funzioni magiche integrate di IPython sono estremamente potenti. Esistono due tipi di funzioni magiche.

  • Line magics, che funzionano in modo molto simile ai comandi DOS.
  • Cell magics, che funzionano su più righe di codice.

Impareremo le funzioni di magia di linea e le funzioni di magia cellulare in dettaglio nei capitoli successivi.

In questo capitolo, vediamo di capire come eseguire e modificare uno script Python.

Esegui comando

Puoi usare runcomando nel prompt di input per eseguire uno script Python. Il comando run è in realtà un comando magico di linea e dovrebbe essere scritto come%run. in ogni caso, il%automagic la modalità è sempre attiva per impostazione predefinita, quindi puoi ometterla.

In [1]: run hello.py
Hello IPython

Modifica comando

IPython fornisce anche il comando di modifica magica. Richiama l'editor predefinito del sistema operativo. Puoi aprirlo tramite l'editor di Blocco note di Windows e lo script può essere modificato. Una volta chiuso dopo aver salvato il suo input, verrà visualizzato l'output dello script modificato.

In [2]: edit hello.py
Editing... done. Executing edited code...
Hello IPython
welcome to interactive computing

Nota che hello.py inizialmente conteneva solo un'istruzione e dopo la modifica è stata aggiunta un'altra istruzione. Se non viene fornito alcun nome di file per modificare il comando, viene creato un file temporaneo. Osservare il codice seguente che mostra lo stesso.

In [7]: edit
IPython will make a temporary file named:
C:\Users\acer\AppData\Local\Temp\ipython_edit_4aa4vx8f\ipython_edit_t7i6s_er.py
Editing... done. Executing edited code...
magic of IPython
Out[7]: 'print ("magic of IPython")'

IPython conserva sia i comandi che i loro risultati della sessione corrente. Possiamo scorrere i comandi precedenti premendo i tasti su e giù.

Inoltre, gli ultimi tre oggetti di output sono memorizzati in variabili speciali _, __ e ___. Ilhistory il comando magico mostra i comandi precedenti nella sessione corrente come mostrato nello screenshot riportato di seguito -

Se l'istruzione nella cella di input inizia con il simbolo esclamativo (!), Viene considerata come un comando di sistema per il sistema operativo sottostante. Per esempio,!ls (per linux) e !dir (per windows) mostra il contenuto della directory corrente

L'output del comando di sistema può anche essere assegnato a una variabile Python come mostrato di seguito -

La variabile memorizza l'output senza colori e si divide in caratteri di nuova riga.

È anche possibile combinare variabili o espressioni Python con chiamate ai comandi di sistema. La variabile tra parentesi graffe {} può essere incorporata nel testo del comando. Osservare il seguente esempio:

Ecco un altro esempio per capire che anche il prefisso della variabile Python con $ ottiene lo stesso risultato.

In questo capitolo, vediamo come lavorare con varie opzioni della riga di comando in IPython.

Richiamo del programma IPython

È possibile richiamare un programma IPython utilizzando le seguenti opzioni:

C:\python36> ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg]

L'opzione file è uno script Python con estensione .py. Se non vengono fornite altre opzioni, lo script viene eseguito e ricompare il prompt dei comandi.

C:\python36>ipython hello.py
Hello IPython
welcome to interactive computing

Sottocomandi e parametri

Un comando IPython accetta le seguenti opzioni di sottocomando:

  • Profile - Crea e gestisci profili IPython.

  • Kernel - Avvia un kernel senza un frontend collegato.

  • Locate - Stampa il percorso alla directory IPython.

  • History - Gestisci il database della cronologia IPython.

Un sottocomando del profilo IPython accetta i seguenti parametri:

  • ipython profile create myprofile - Crea un nuovo profilo.

  • ipython profile list - Elenca tutti i profili disponibili.

  • ipython locate profile myprofile - Individua il profilo richiesto.

Per installare il nuovo kernel IPython, utilizzare il seguente comando:

Ipython kernel –install –name

Per stampare il percorso della directory IPython, utilizzare il seguente comando:

C:\python36>ipython locate myprofile
C:\Users\acer\.ipython

Inoltre, sappiamo che -

  • Il history il sottocomando gestisce il database della cronologia IPython.

  • Il trim opzione riduce il database della cronologia IPython alle ultime 1000 voci.

  • Il clear opzione elimina tutte le voci.

Alcune delle altre importanti opzioni della riga di comando di IPython sono elencate di seguito:

Sr.No. Comando e descrizione IPython
1

--automagic

Attiva la chiamata automatica dei comandi magici.

2

--pdb

Abilita la chiamata automatica del debugger pdb dopo ogni eccezione.

3

--pylab

Precarica matplotlib e numpy per un utilizzo interattivo con il backend matplotlib predefinito.

4

--matplotlib

Configurare matplotlib per l'uso interattivo con il backend matplotlib predefinito.

5

--gui=options

Abilita l'integrazione del ciclo di eventi della GUI con uno qualsiasi di ('glut', 'gtk', 'gtk2', 'gtk3', 'osx', 'pyglet', 'qt', 'qt4', 'qt5', 'tk', ' wx ',' gtk2 ',' qt4 ').

L'utilizzo di esempio di alcune delle opzioni della riga di comando di IPython è mostrato nella tabella seguente:

Sr.No. Comando e descrizione IPython
1

ipython --matplotlib

abilitare l'integrazione con matplotlib

2

ipython --matplotlib=qt

abilitare l'integrazione di matplotlib con il backend qt4

3

ipython --profile=myprofile

inizia con il profilo pippo

4

ipython profile create myprofile

crea il profilo foo con i file di configurazione predefiniti

5

ipython help profile

mostra la guida per il profilo subcmd

6

ipython locate

stampa il percorso della directory IPython

7

ipython locate profile myprofile

stampa il percorso della directory per il profilo `mioprofilo`

IPython ha diversi modi per ottenere dinamicamente informazioni sugli oggetti Python. In questo capitolo, impariamo i modi dell'introspezione dinamica degli oggetti in IPython.

Uso di ? e ??fornisce informazioni specifiche e più dettagliate sull'oggetto. Nel primo esempio discusso di seguito, viene creato un semplice oggetto intero a. Le sue informazioni possono essere ottenute digitando un? nella cella di input.

Nel secondo esempio, definiamo una funzione e analizziamo questo oggetto funzione con ? e ??.

Nota che la funzione magica %psearch è equivalente all'uso di ? o ?? per recuperare le informazioni sugli oggetti.

Le celle di input e output sulla console IPython sono numerate in modo incrementale. In questo capitolo, esaminiamo in dettaglio la cache di I / O in Python.

In IPython, gli input vengono recuperati utilizzando il tasto freccia su. Inoltre, tutti gli input precedenti vengono salvati e possono essere recuperati. Le variabili_i, __i, e ___imemorizzare sempre le tre voci di input precedenti. Inoltre,In e _invariabili fornisce elenchi di tutti gli input. Ovviamente_in[n]recupera l'input dall'ennesima cella di input. La seguente sessione IPython ti aiuta a capire questo fenomeno:

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 2

In [5]: pow(x,y)
Out[5]: 100

In [6]: _iii, _ii, _i
Out[6]: ('x = 10', 'y = 2', 'pow(x,y)')

In [7]: In
Out[7]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In'
]
   
In [8]: In[5] 9. IPython — IO
Out[8]: 'pow(x,y)'

In [9]: _ih
Out[9]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In',
   'In[5]',
   '_ih'
]
   
In [11]: _ih[4]
Out[11]: 'y = 2'

In [12]: In[1:4]
Out[12]: ['print ("Hello")', '2+2', 'x=10']

Allo stesso modo, i caratteri di sottolineatura singoli, doppi e tripli agiscono come variabili per memorizzare i tre output precedenti. AncheOut e _ohforma un oggetto dizionario del numero di cella e l'output delle celle che eseguono un'azione (escluse le istruzioni di assegnazione). Per recuperare il contenuto di una cella di output specifica, utilizzareOut[n] o _oh[n]. È inoltre possibile utilizzare l'affettatura per ottenere celle di output all'interno di un intervallo.

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 3

In [5]: pow(x,y)
Out[5]: 1000

In [6]: ___, __, _
Out[6]: ('', 4, 1000)

In [7]: Out
Out[7]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [8]: _oh
Out[8]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [9]: _5
Out[9]: 1000

In [10]: Out[6]
Out[10]: ('', 4, 1000)

Diverse variabili d'ambiente influenzano il comportamento di Python. La variabile d'ambiente PYTHONSTARTUP è assegnata a uno script Python. Di conseguenza, questo script viene eseguito prima che appaia il prompt di Python. Questo è utile se determinati moduli devono essere caricati di default ogni volta che inizia una nuova sessione di Python.

Il seguente script (start.py) importa il modulo IPython ed esegue la funzione start_ipython () per sostituire la shell Python predefinita con prompt (>>>) dalla shell IPython quando viene richiamato l'eseguibile Python.

import os, IPython
os.environ['PYTHONSTARTUP'] = ''
IPython.start_ipython()
raise SystemExit

Supponendo che questo file sia memorizzato nella directory di installazione di Python (c: \ python36), imposta la variabile d'ambiente PYTHONSTARTUP e avvia Python dalla riga di comando. Quindi la shell IPython appare come mostrato di seguito -

Si noti che la variabile di ambiente può essere impostata in modo permanente utilizzando la finestra di dialogo Proprietà del sistema in Windows e utilizzando il comando di esportazione su Linux.

IPython può leggere dalla console Python standard con l'impostazione predefinita >>>prompt e un'altra sessione IPython. Lo screenshot seguente mostra un ciclo for scritto nella shell Python standard -

Copia il codice (insieme al prompt di Python) e incolla lo stesso nella cella di input IPython. IPython filtra in modo intelligente i prompt di input (>>> e ...) o quelli IPython (In [N]: e ... :)

Allo stesso modo, il codice di una sessione IPython può essere incollato in un'altra. La prima schermata riportata di seguito mostra la definizione della funzione SayHello () in una finestra IPython -

Ora, selezioniamo il codice e incolliamo in un'altra shell IPython e chiamiamo la funzione SayHello ().

La funzione embed () del modulo IPython rende possibile incorporare IPython nello spazio dei nomi dei codici Python. In questo modo puoi sfruttare le funzionalità di IPython come l'introspezione degli oggetti e il completamento con tabulazioni, nell'ambiente Python predefinito.

Gli oggetti Python presenti nello spazio dei nomi globale prima dell'incorporamento saranno disponibili per IPython.

Se vengono formati nuovi oggetti mentre in IPython o oggetti precedenti vengono modificati, saranno automaticamente disponibili per l'ambiente predefinito dopo l'uscita da IPython. La shell IPython incorporata non modifica lo stato del codice o degli oggetti precedenti.

Tuttavia, se IPython è incorporato nello spazio dei nomi locale come all'interno di una funzione, gli oggetti al suo interno non saranno disponibili una volta chiuso. Qui abbiamo definito una funzione add (). All'interno di add () invochiamo IPython e dichiariamo una variabile. Se proviamo ad accedere alla variabile in IPython dopo che è stata chiusa, verrà sollevata l'eccezione NameError.

I comandi magici o le funzioni magiche sono uno dei miglioramenti importanti offerti da IPython rispetto alla shell Python standard. Questi comandi magici hanno lo scopo di risolvere problemi comuni nell'analisi dei dati utilizzando Python. In effetti, controllano il comportamento di IPython stesso.

I comandi magici agiscono come comode funzioni in cui la sintassi di Python non è la più naturale. Sono utili per incorporare la sintassi python non valida nel loro flusso di lavoro.

Tipi di comandi magici

Esistono due tipi di comandi magici:

  • Linea magica
  • Magie cellulari

Line Magics

Sono simili alle chiamate della riga di comando. Iniziano con% carattere. Il resto della riga è il suo argomento passato senza parentesi o virgolette. Le linee magiche possono essere usate come espressioni e il loro valore di ritorno può essere assegnato alla variabile.

Cell Magics

Hanno un prefisso di caratteri %%. A differenza delle funzioni line magic, possono operare su più linee sotto la loro chiamata. Possono infatti apportare modifiche arbitrarie all'input che ricevono, che non devono nemmeno essere un codice Python valido. Ricevono l'intero blocco come una singola stringa.

Per saperne di più sulle funzioni magiche, le magie incorporate e le loro docstring, usa il comando magic. Le informazioni su una specifica funzione magica sono ottenute da%magicfunction?Comando. Descriviamo ora alcuni dei comandi di magia di cella e di linea incorporati.

Magie di linea incorporate

%autocall [mode]

Questa funzione magica rende una funzione richiamabile automaticamente senza dover usare le parentesi. Sono necessari tre possibili parametri di modalità:0 (off), 1 (smart) is default o 2 (always on).

% automagic

Le funzioni magiche sono richiamabili senza dover digitare la% iniziale se impostata su 1. Senza argomenti si attiva / disattiva. Per disattivare, impostare su 0.

L'esempio seguente mostra una funzione magica %pwd (visualizza la directory di lavoro attuale) viene chiamato senza indicare% quando% automagic è impostato su 1

%CD

Questa magia di linea cambia la directory corrente. Questo comando mantiene automaticamente un elenco interno delle directory che visiti durante la tua sessione IPython, nella variabile _dh. Puoi anche fare "cd - <tab>" per vedere comodamente la cronologia delle directory.

Utilizzo

Il comando% cd può essere utilizzato nei seguenti modi:

  • %cd <dir> - Cambia la directory di lavoro corrente in <dir>

  • %cd.. - Cambia la directory corrente nella directory principale

  • %cd - passa all'ultima directory visitata.

% dhist

Questo comando magico stampa tutte le directory che hai visitato nella sessione corrente. Ogni volta che viene utilizzato il comando% cd, questo elenco viene aggiornato in_dh variabile.

%modificare

Questo comando magico richiama l'editor di testo predefinito del sistema operativo corrente (Blocco note per Windows) per modificare uno script Python. Lo script viene eseguito alla chiusura dell'editor.

% env

Questo comando magico elencherà tutte le variabili d'ambiente. Legge anche il valore di una particolare variabile o imposta il valore della variabile d'ambiente.

Usage

Il comando% cd può essere utilizzato nei seguenti modi:

  • %env - Elenca tutte le variabili d'ambiente

  • %env var - Ottiene il valore per var

  • %env var val - Imposta il valore per var

% gui [GUINAME]

Se utilizzato senza argomenti, questo comando abilita o disabilita l'integrazione del ciclo di eventi della GUI IPython. Con l'argomento GUINAME, questa magia sostituisce il toolkit GUI predefinito con quello specificato.

Sr.No. Comando e descrizione
1

%gui wx

abilitare l'integrazione del loop di eventi wxPython

2

%gui qt4|qt

abilitare l'integrazione del loop di eventi PyQt4

3

%gui qt5

abilitare l'integrazione del loop di eventi PyQt5

4

%gui gtk

abilitare l'integrazione del loop di eventi PyGTK

5

%gui gtk3

abilita l'integrazione del loop di eventi Gtk3

6

%gui tk

abilitare l'integrazione del loop di eventi Tk

7

%gui osx

abilitare l'integrazione del loop di eventi Cocoa

8

(richiede% matplotlib 1.1)

9

%gui

disabilitare tutta l'integrazione del loop di eventi

% lsmagic

Visualizza tutte le funzioni magiche attualmente disponibili

% matplotlib

Questa funzione attiva il supporto interattivo matplotlib durante una sessione IPython. Tuttavia, non importa la libreria matplotlib. Il toolkit GUI predefinito di matplotlib è TkAgg. Ma puoi richiedere esplicitamente un backend GUI diverso. Puoi vedere un elenco dei backend disponibili come mostrato -

In [4]: %matplotlib --list
Available matplotlib backends: 
['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']

La sessione IPython mostrata qui traccia un'onda sinusoidale usando qt toolkit -

Durante l'utilizzo di Jupyter Notebook, la direttiva inline% matplotlib mostra l'output del grafico solo nel browser.

%taccuino

Questa funzione converte la cronologia IPython corrente in un file notebook IPython con estensione ipynb. Le celle di input nell'esempio precedente vengono salvate come sine.ipynb

%notebook sine.ipynb

% pinfo

Questa funzione è simile all'introspezione degli oggetti? personaggio. Per ottenere informazioni su un oggetto, utilizzare il seguente comando:

%pinfo object

Questo è sinonimo di object? o ?object.

%precisione

Questa funzione magica limita un risultato in virgola mobile a cifre specificate dopo il decimale.

% pwd

Questa funzione magica restituisce l'attuale directory di lavoro.

% pylab

Questa funzione popola la sessione IPython corrente con le librerie matplotlib e numpy.

%richiamare

Quando viene eseguita senza alcun parametro, questa funzione esegue il comando precedente.

Nota che in %recall n, il numero davanti è il numero di cella di input. Quindi viene richiamato il comando nell'ennesima cella. È possibile richiamare i comandi nella sezione delle celle utilizzando comandi come%recall 1-4. La cella di input corrente viene popolata con la cella richiamata e il cursore lampeggia finché non viene premuto il tasto Invio.

%correre

Questo comando esegue uno script Python dall'interno della shell IPython.

%tempo

Questo comando visualizza il tempo richiesto dall'ambiente IPython per eseguire un'espressione Python.

% timeit

Questa funzione mostra anche il tempo richiesto dall'ambiente IPython per eseguire un'espressione Python. L'esecuzione temporale di un'istruzione o espressione Python utilizza il modulo timeit. Questa funzione può essere utilizzata sia come linea che come magia cellulare come spiegato qui -

  • In line mode puoi cronometrare una singola riga.

  • In cell mode, l'istruzione nella prima riga viene utilizzata come codice di configurazione e il corpo della cella è temporizzato. Il corpo della cella ha accesso a tutte le variabili create nel codice di configurazione.

%chi

Questa magia della linea stampa tutte le variabili interattive, con una formattazione minima. Se vengono forniti argomenti, vengono stampate solo le variabili il cui tipo corrisponde a uno di questi.

Funzione IPython Custom Line Magic

La libreria principale di IPython contiene il decoratore register_line_magic. Una funzione definita dall'utente viene convertita in una funzione magica di linea utilizzando questo decoratore.

Il progetto Jupyter è iniziato come spin-off del progetto IPython nel 2014. Le funzionalità indipendenti dal linguaggio di IPython sono state spostate sotto il nome: Jupyter. Il nome è un riferimento ai principali linguaggi di programmazione supportati da Jupyter che sono Julia, Python e RProducts nell'ambito del progetto Jupyter sono destinati a supportare la scienza dei dati interattivi e il calcolo scientifico.

Il progetto Jupyter è costituito da vari prodotti descritti come sotto -

  • IPykernel - Questo è un pacchetto che fornisce il kernel IPython a Jupyter.

  • Jupyter client- Questo pacchetto contiene l'implementazione di riferimento del protocollo Jupyter. È anche una libreria client per l'avvio, la gestione e la comunicazione con i kernel Jupyter.

  • Jupyter notebook- Questo era precedentemente noto come notebook IPython. Questa è un'interfaccia basata sul web per il kernel IPython e per i kernel di molti altri linguaggi di programmazione.

  • Jupyter kernels - Il kernel è l'ambiente di esecuzione di un linguaggio di programmazione per i prodotti Jupyter.

Di seguito è riportato l'elenco dei kernel Jupyter:

Kernel linguaggio URL
IJulia Julia

https://github.com/JuliaLang

IHaskell Haskell

https://github.com/gibiansky

IRuby Rubino

https://github.com/SciRuby/iruby

IJavaScript JavaScript

https://github.com/n-riesco

IPHP PHP

https://github.com/dawehner

IRKernel R

http://irkernel.github.io/

  • Qtconsole - Una ricca console basata su Qt per lavorare con i kernel Jupyter

  • nbconvert - Converte i file del notebook Jupyter in altri formati

  • JupyterLab - Interfaccia integrata basata sul web per notebook, editor, console ecc.

  • nbviewer - Visualizzatore HTML per file notebook

Il notebook IPython è stato sviluppato da Fernando Perez come front-end basato sul web per il kernel IPython. Nel tentativo di creare un ambiente informatico interattivo integrato per più lingue, il progetto Notebook è stato spostato sotto il progetto Jupyter fornendo front-end per gli ambienti di programmazione Juila e R oltre a Python.

Un documento notebook è costituito da elementi rich text con testo in formato HTML, figure, equazioni matematiche ecc. Il notebook è anche un documento eseguibile costituito da blocchi di codice in Python o altri linguaggi di supporto.

Il notebook Jupyter è un'applicazione client-server. L'applicazione avvia il server sulla macchina locale e apre l'interfaccia del notebook nel browser Web da cui può essere modificata ed eseguita. Il notebook viene salvato come file ipynb e può essere esportato come file html, pdf e LaTex.

Se non conosci Jupyter, puoi provare le funzionalità del notebook Jupyter prima di installarlo sul tuo computer locale. A tal fine, visitahttps://jupyter.org nel tuo browser e scegli ‘Try Jupyter with Python’ opzione.

Si aprirà la home page di https://mybinder.orgDal menu File, scegli l'opzione Nuovo taccuino per aprire un Jupyter vuoto nel tuo browser. Verrà visualizzata la cella di input, simile a quella nel terminale IPython. Puoi eseguire qualsiasi espressione Python in esso.

È possibile installare facilmente l'applicazione per notebook Jupyter utilizzando il gestore di pacchetti pip.

pip3 install jupyter

Per avviare l'applicazione, utilizzare il seguente comando nella finestra del prompt dei comandi.

c:\python36>jupyter notebook

L'applicazione server viene avviata con il numero di porta predefinito 8888 e la finestra del browser si apre per mostrare il dashboard del notebook.

Osserva che la dashboard mostra un menu a discesa vicino al bordo destro del browser con una freccia accanto al pulsante Nuovo. Contiene i kernel per notebook attualmente disponibili. Ora scegli Python 3, quindi un nuovo taccuino si aprirà in una nuova scheda. Viene visualizzata una cella di input simile a quella della console IPython.

Puoi eseguire qualsiasi espressione Python in esso. Il risultato verrà visualizzato nella cella Out.

La dashboard di Jupyter Notebook contiene tre schede come mostrato nella schermata riportata di seguito:

Scheda File

La scheda "File" mostra file e cartelle nella directory corrente da cui è stata richiamata l'app per notebook. La riga corrispondente a un blocco note attualmente aperto e lo stato di esecuzione viene visualizzato accanto all'ultima colonna modificata. Visualizza anche il pulsante Carica tramite il quale è possibile caricare un file sul server notebook.

Scheda in esecuzione

La scheda "In esecuzione" mostra quali dei notebook sono attualmente in esecuzione.

Scheda Cluster

La terza scheda, "Clusters", è fornita da IPython parallel. Il framework di calcolo parallelo di IPython, una versione estesa del kernel IPython.

Dal menu a discesa Nuovo scegli Terminale per aprire una finestra di cmd. Ora puoi avviare un terminale IPython qui.

Nell'interfaccia utente di Jupyter, accanto al logo nell'intestazione, viene visualizzato il nome del file.

Puoi trovare la barra dei menu sotto l'intestazione. Ogni menu contiene molte opzioni che verranno discusse in seguito.

Una riga di icone che formano la barra degli strumenti aiuta l'utente a eseguire le operazioni spesso richieste

Il notebook ha due modalità: Command mode e Edit mode. Notebook entra in modalità di modifica quando si fa clic su una cella. Notare il simbolo della matita accanto al nome del kernel.

Il simbolo dell'indicatore del kernel viene visualizzato appena a destra del nome del kernel. Notare che un cerchio vuoto significa che il kernel è inattivo e un cerchio pieno significa che è occupato.

Menu File

Le seguenti sono le opzioni disponibili nel menu File:

Sr.No. Menu File e descrizione
1

New notebook

scegli il kernel per avviare il nuovo notebook

2

Open

Porta l'utente alla dashboard per scegliere il notebook da aprire

3

Save as

salva il notebook corrente e avvia il nuovo kernel

4

Rename

rinomina il taccuino corrente

5

Save

salva il taccuino corrente e memorizza il punto di controllo corrente

6

Revert

ripristina lo stato del notebook al checkpoint precedente

7

Download

esportare notebook in uno dei vari formati di file

I formati di file disponibili sono mostrati di seguito:

Menu Modifica

Il menu Modifica è costituito da pulsanti per eseguire taglia, copia e incolla celle, elimina cella selezionata, dividi e unisci celle, sposta celle su e giù, trova e sostituisci nel taccuino, taglia / copia allegati e inserisci immagine.

Visualizza menu

I pulsanti in questo menu ci aiutano a nascondere / visualizzare intestazione, barra degli strumenti e numeri di cella.

Inserisci menu

Questo menu offre opzioni per inserire una cella prima o dopo la cella corrente.

Menu cella

Le opzioni in questo menu consentono all'utente di eseguire tutte o specifiche celle del notebook. Puoi anche impostare il tipo di cella su tipo di codice, markdown o tipo nbconvert non elaborato.

Menu del kernel

Da questo menu è possibile avviare, interrompere, riavviare o spegnere il kernel. Puoi anche avviare un nuovo kernel.

Menu widget

Da questo menu è possibile salvare, cancellare, scaricare o incorporare lo stato del widget.

Menu della guida

Da questo menu vengono visualizzate varie scorciatoie da tastiera predefinite. Puoi anche modificare le scorciatoie secondo la tua convenienza.

Le celle nel notebook Jupyter sono di tre tipi: Code, Markdown e Raw.

Celle di codice

I contenuti in questa cella sono trattati come dichiarazioni in un linguaggio di programmazione del kernel corrente. Il kernel predefinito è Python. Quindi, possiamo scrivere istruzioni Python in una cella di codice. Quando viene eseguita tale cella, il suo risultato viene visualizzato in una cella di output. L'output può essere testo, immagine, grafici matplotlib o tabelle HTML. Le celle di codice hanno funzionalità di testo RTF.

Markdown Cells

Queste celle contengono testo formattato utilizzando il linguaggio markdown. Sono disponibili tutti i tipi di funzionalità di formattazione come rendere il testo in grassetto e corsivo, visualizzare un elenco ordinato o non ordinato, visualizzare i contenuti tabulari, ecc. Le celle di markdown sono particolarmente utili per fornire documentazione al processo di calcolo del notebook.

Cellule grezze

I contenuti nelle celle raw non vengono valutati dal kernel del notebook. Quando passano attraverso nbconvert, verranno renderizzati come desiderato. Se digiti LatEx in una cella grezza, il rendering avverrà dopo l'applicazione di nbconvert.

Sebbene la barra dei menu e la barra degli strumenti consentano di eseguire varie operazioni sul notebook, è preferibile poter utilizzare le scelte rapide da tastiera per eseguirle rapidamente.

I notebook Jupyter hanno due diverse modalità di input da tastiera:

  • Command Mode- Associa la tastiera alle azioni a livello di notebook. Indicato da un bordo di cella grigio con un margine sinistro blu.

  • Edit Mode- Quando stai digitando in una cella. Indicato da un bordo di cella verde.

Modalità di comando (premere Esc per abilitare)

F

trova e sostituisci

1

cambia cella in intestazione 1

Ctrl-Shift-F

aprire la tavolozza dei comandi

2

cambia cella in intestazione 2

Ctrl-Shift-P

aprire la tavolozza dei comandi

3

cambia cella in intestazione 3

Enter

accedere alla modalità di modifica

4

cambia cella all'intestazione 4

P

aprire la tavolozza dei comandi

5

cambia cella all'intestazione 5

Shift-Enter

esegui cella, seleziona sotto

6

cambia cella all'intestazione 6

Ctrl-Enter

eseguire celle selezionate

A

inserire la cella sopra

Alt-Enter

esegui cella e inserisci sotto

B

inserire la cella sottostante

Y

cambia cella in codice

X

taglia le celle selezionate

M

cambia cella in markdown

C

copia le celle selezionate

R

cambia cella in raw

V

incolla le celle sottostanti

K

seleziona la cella sopra

Z

annullare l'eliminazione della cella

Up

seleziona la cella sopra

D,D

elimina le celle selezionate

Down

seleziona la cella sottostante

Shift-M

unisci le celle selezionate o la cella corrente con la cella sottostante se è selezionata solo una cella

J

seleziona la cella sottostante

Shift-V

incolla le celle sopra

Shift-K

estendere le celle selezionate sopra

L

alternare i numeri di riga

Shift-Up

estendere le celle selezionate sopra

O

alterna l'output delle celle selezionate

Shift-Down

estendere le celle selezionate di seguito

Shift-O

attiva / disattiva lo scorrimento dell'output delle celle selezionate

Shift-J

estendere le celle selezionate di seguito

I,I

interrompere il kernel

Ctrl-S

Salva e Checkpoint

0,0

riavvia il kernel (con finestra di dialogo)

S

Salva e Checkpoint

Esc

chiudere il cercapersone

Shift-L

alterna i numeri di riga in tutte le celle e mantiene l'impostazione

Q

chiudere il cercapersone

Shift-Space

scorrere il taccuino verso l'alto

Space

scorri il taccuino verso il basso

Modalità di modifica (premere Invio per abilitare)

Tab

completamento del codice o rientro

Ctrl-Home

vai all'inizio della cella

Shift-Tab

tooltip

Ctrl-Up

vai all'inizio della cella

Ctrl-]

trattino

Ctrl-End

vai alla fine della cella

Ctrl-[

dedent

Ctrl-Down

vai alla fine della cella

Ctrl-A

seleziona tutto

Ctrl-Left

vai una parola a sinistra

Ctrl-Z

disfare

Ctrl-Right

vai una parola giusta

Ctrl-/

commento

Ctrl-M

entrare in modalità comando

Ctrl-D

elimina l'intera riga

Ctrl-Shift-F

aprire la tavolozza dei comandi

Ctrl-U

annullare la selezione

Ctrl-Shift-P

aprire la tavolozza dei comandi

Insert

attiva / disattiva il flag di sovrascrittura

Esc

entrare in modalità comando

Ctrl-Backspace

eliminare la parola prima

Ctrl-Y

rifare

Ctrl-Delete

elimina la parola dopo

Alt-U

ripetere la selezione

Shift-Enter

esegui cella, seleziona sotto

Ctrl-Shift-Minus

cella divisa in corrispondenza del cursore

Ctrl-Enter

eseguire celle selezionate

Down

sposta il cursore in basso

Alt-Enter

esegui cella e inserisci sotto

Up

sposta il cursore in alto

Ctrl-S

Salva e Checkpoint

La cella Markdown mostra il testo che può essere formattato utilizzando il linguaggio Markdown. Per inserire un testo che non deve essere trattato come codice dal server Notebook, deve essere prima convertito come cella di markdown dal menu cella o utilizzando la scorciatoia da tastiera M in modalità comando. Il prompt In [] prima che la cella scompaia.

Cella di intestazione

Una cella di markdown può visualizzare il testo dell'intestazione di 6 dimensioni, simile alle intestazioni HTML. Inizia il testo nella cella di markdown con il simbolo #. Usa tutti i simboli # corrispondenti al livello di intestazione che desideri. Significa che il singolo # renderà la riga di intestazione più grande e sei simboli # renderanno l'intestazione con la dimensione del carattere più piccola. Il rendering avrà luogo quando si esegue la cella dal menu della cella o dal pulsante di esecuzione della barra degli strumenti.

La seguente schermata mostra le celle di markdown in modalità di modifica con intestazioni di tre diversi livelli.

Quando le celle vengono eseguite, l'output è il seguente:

Si noti che il markdown del notebook Jupyter non supporta la funzionalità WYSWYG. L'effetto della formattazione verrà visualizzato solo dopo l'esecuzione della cella di markdown.

Liste ordinate

Per eseguire il rendering di un elenco numerato come viene fatto dal tag <ol> dell'HTML, il primo elemento nell'elenco deve essere numerato come 1. Agli elementi successivi può essere assegnato un numero qualsiasi. Verrà eseguito il rendering in serie quando viene eseguita la cella di markdown. Per mostrare un elenco rientrato, premere il tasto Tab e iniziare con 1 il primo elemento di ogni elenco secondario.

Se fornisci i seguenti dati per il ribasso:

Verrà visualizzato il seguente elenco:

Elenchi puntati

Ogni elemento nell'elenco visualizzerà un cerchio pieno se inizia con il simbolo - dove verrà visualizzato come un quadrato pieno se l'elenco inizia con il simbolo *. L'esempio seguente spiega questa funzione:

Il markdown renderizzato si presenta come di seguito:

Collegamenti ipertestuali

Il testo markdown che inizia con http o https rende automaticamente il collegamento ipertestuale. Per allegare un collegamento al testo, inserire il testo tra parentesi quadre [] e collegare tra parentesi () eventualmente includendo il testo al passaggio del mouse. Lo screenshot seguente lo spiegherà.

Il markdown renderizzato appare come mostrato di seguito:

Grassetto e corsivo

Per mostrare un testo in grassetto, inseriscilo tra doppi trattini bassi o due asterischi. Per visualizzarlo in corsivo, inseriscilo tra singoli trattini bassi o singoli asterischi.

Il risultato è come mostrato di seguito:

immagini

Per visualizzare l'immagine in una cella di markdown, scegli l'opzione "Inserisci immagine" dal menu Modifica e seleziona il file immagine desiderato. La cella markdown mostra la sua sintassi come segue:

L'immagine verrà renderizzata sul notebook come mostrato di seguito:

tavolo

In una cella markdown, è possibile costruire una tabella utilizzando | (simbolo pipe) e - (trattino) per contrassegnare colonne e righe. Nota che i simboli non devono essere allineati esattamente durante la digitazione. Dovrebbe occupare solo il posto rispettivo dei bordi delle colonne e dei bordi delle righe. Il blocco note verrà ridimensionato automaticamente in base al contenuto. Una tabella è costruita come mostrato di seguito:

La tabella di output verrà visualizzata come mostrato di seguito:

In questo capitolo, comprendiamo le funzioni di magia cellulare e le loro funzionalità.

%% html

Questa funzione di magia delle celle rende il contenuto della cella di codice come script html.

%% js o %% javascript

Puoi incorporare il codice javascript nella cella del taccuino Jupyter con l'aiuto di questo comando magico della cella.

%% writefile

Il contenuto della cella di codice viene scritto in un file utilizzando questo comando.

Il kernel IPython del notebook Jupyter è in grado di visualizzare grafici di codice nelle celle di input. Funziona perfettamente conmatplotlibbiblioteca. L'opzione in linea con l'estensione%matplotlib la funzione magica rende la cella di trama anche se show()la funzione dell'oggetto trama non viene chiamata. Ilshow() la funzione fa sì che la cifra venga visualizzata sotto nella cella [] senza out [] con numero.

Ora aggiungi plt.show() alla fine ed esegui di nuovo la cella per vedere la differenza.

Nota che la magia del taccuino% matplotlib rende la trama interattiva.

Appena sotto la figura, è possibile trovare una barra degli strumenti per cambiare visualizzazione, panoramica, zoom e opzioni di download.

È importante sottolineare che, se si modificano i dati sotto il grafico, la visualizzazione cambia dinamicamente senza disegnare un altro grafico.

Nell'esempio sopra, cambia i set di dati di xey nella cella sottostante e traccia nuovamente la figura, la figura sopra verrà aggiornata dinamicamente.

I file del taccuino Jupyter hanno .ipynbestensione. Il rendering del notebook viene eseguito nel browser Web dall'app per notebook. Può essere esportato in vari formati di file utilizzando il download come opzione nel menu file. Jupyter ha anche un'interfaccia a riga di comando sotto forma dinbconvertopzione. Per impostazione predefinita, nbconvert esporta il notebook in formato HTML. È possibile utilizzare il seguente comando per questo scopo:

jupyter nbconvert mynotebook.ipynb

Questo convertirà mynotebook.ipynb al mynotebook.html. Un altro formato di esportazione è specificato con`--to` clausola.

Nota che altre opzioni includono ["asciidoc", "custom", "html", "latex", "markdown", "notebook", "pdf", "python", "rst", "script", "slides"]

HTML include modelli "di base" e "completi". È possibile specificarlo nella riga di comando come mostrato di seguito:

jupyter nbconvert --to html --template basic mynotebook.ipynb

LaTex è un formato di preparazione di documenti utilizzato specialmente nella composizione scientifica. Jupyter include modelli di "base", "articolo" e "rapporto".

jupyter nbconvert --to latex –template report mynotebook.ipynb

Per generare PDF tramite latex, utilizzare il seguente comando:

jupyter nbconvert mynotebook.ipynb --to pdf

Il notebook può essere esportato in una presentazione HTML. La conversione utilizza Reveal.js in background. Per servire le diapositive da un server HTTP, aggiungi --postserve sulla riga di comando. Per creare diapositive che non richiedono una connessione Internet, è sufficiente posizionare la libreria Reveal.js nella stessa directory in cui si trovayour_talk.slides.html si trova.

jupyter nbconvert myslides.ipynb --to slides --post serve

L'opzione markdown converte il notebook in un semplice output di markdown. Le celle di markdown non sono interessate e le celle di codice rientrano di 4 spazi.

--to markdown

Puoi usare rstopzione per convertire il notebook in output reStructuredText di base. È utile come punto di partenza per incorporare i taccuini nei documenti di Sphinx.

--to rst

Questo è il modo più semplice per ottenere uno script Python (o un altro linguaggio, a seconda del kernel) da un notebook.

--to script

IPyWidgets è una libreria Python di widget interattivi HTML per notebook Jupyter. Ogni elemento dell'interfaccia utente nella libreria può rispondere agli eventi e richiama le funzioni del gestore eventi specificate. Migliorano la funzionalità interattiva dell'applicazione per notebook Jupyter.

Per incorporare i widget nel notebook, dobbiamo importare il seguente modulo come mostrato di seguito:

from ipywidgets import widgets

Alcuni IPyWidgets di base sono spiegati qui -

L'immissione di testo

Il widgets.text()esegue il rendering dei widget nel notebook. È simile all'elemento modulo casella di testo in HTML. L'oggetto di questo widget haon_submit() metodo che ascolta l'attività del campo di testo e può invocare il gestore di eventi fornito come argomento.

Pulsante

Questo widget è simile al pulsante HTML. Quando viene cliccato, l'evento viene registrato daon_click() metodo che chiama il gestore dell'evento click.

IntSlider

Un controllo a scorrimento che visualizza i valori interi incrementali. C'è anche un FloatSlider e IntRangeSlider (che cambia il numero intero tra un intervallo)

Etichetta

Questo widget è utile per visualizzare testo non modificabile nel taccuino.

Schermo()

Questa funzione da ipywidgets il modulo esegue il rendering dell'oggetto widget nella cella di input del notebook.

Interagire

Questa funzione esegue automaticamente il rendering di un widget a seconda del tipo di argomento dati assegnatogli. Il primo argomento di questa funzione è il gestore di eventi e il secondo è un valore passato al gestore di eventi stesso.

L'esempio seguente mostra tre widget etichetta, due widget di testo e un pulsante con didascalia "aggiungi". Quando si fa clic sul pulsante, la somma dei numeri in due campi di immissione di testo viene visualizzata sull'etichetta più in basso.

In questo capitolo, cerchiamo di capire come iniziare con QtConsole. Questo capitolo fornirà una panoramica su questo software e spiegherà i suoi passaggi di installazione.

Panoramica

La console Qt è un'applicazione GUI simile al terminale IPython. Tuttavia, fornisce una serie di miglioramenti che non sono disponibili nel terminale IPython basato su testo. Le caratteristiche migliorate sono le figure in linea, l'editing multi-linea con evidenziazione della sintassi, suggerimenti grafici, ecc. La console Qt può usare qualsiasi kernel Jupyter, essendo il kernel IPython predefinito.

Installazione

Jupyter QtConsole fa parte del progetto Jupyter. La distribuzione di Anaconda contiene già l'applicazione QTconsole. Per installarlo individualmente, usa il comando pip come mostrato di seguito -

pip3 install qtconsole

Puoi anche usare il comando conda per questo scopo -

conda install qtconsole

Puoi avviare la console Jupyter dal navigatore Anaconda. Per avviarlo dalla riga di comando, è necessario utilizzare il seguente comando, dal prompt dei comandi di Windows o dal prompt di Anaconda:

jupyter qtonsole

Si ottiene un terminale simile al terminale IPython con il primo prompt In []. Ora puoi eseguire qualsiasi espressione Python esattamente come facciamo nel terminale IPython o nel notebook Jupyter

La modifica su più righe è una delle funzionalità che non è disponibile nel terminale IPython. Per inserire più di un'istruzione in una singola cella di input, premerectrl+enterdopo la prima riga. Successivamente, la semplice pressione di invio andrà ad aggiungere una nuova riga nella stessa cella. Per interrompere l'immissione di nuove righe e l'esecuzione di celle, premere ancora una volta il tasto Invio alla fine. La cella verrà eseguita e l'output verrà visualizzato nella cella successiva [].

Un altro importante miglioramento offerto da QtConsole è la possibilità di visualizzare grafici in linea, in particolare i grafici. La funzione funziona bene con Matplotlib e altre librerie di plottaggio.

Questa opzione per salvare l'output di QtConsole come file HTML è disponibile nel menu File. È possibile scegliere di creare un file con un'immagine in linea o la figura tracciata come file png esterno in una cartella adiacente (denominata qt_files).

È possibile aprire più di una scheda nell'applicazione console Jupyter. A tale scopo vengono fornite tre opzioni nel menu File.

  • New Tab with New kernel - Puoi caricare un nuovo kernel con questo menu file.

  • New Tab with Existing kernel - Usando questa opzione, puoi scegliere tra kernel aggiuntivi oltre al kernel IPython.

  • New Tab with Same Kernel- Questo crea uno slave del kernel caricato su una scheda particolare. Di conseguenza, l'oggetto inizializzato nella scheda principale sarà accessibile in slave e viceversa.

È disponibile un comando magico% qtconsole per l'uso con il notebook Jupyter. Questo richiama QtConsole come terminale slave per il frontend del notebook. Di conseguenza, i dati tra il notebook e il terminale Qtconsole possono essere condivisi.

Puoi vedere che la variabile in notebook è accessibile all'interno di qtconsolefinestra. Inoltre, una nuova variabile in Qtconsole viene utilizzata di nuovo nel notebook.

Si osservi che le celle di input e di output sono numerate in modo incrementale tra le due.

Sharing Jupyter notebook – Using github and nbviewer

File Jupyter Notebook con estensione .ipynbl'estensione in un repository GitHub verrà visualizzata come file HTML statico quando vengono aperti. Le funzionalità interattive del notebook, come i grafici JavaScript personalizzati, non funzioneranno nel tuo repository su GitHub.

Per condividere il file del notebook utilizzando GitHub, accedi a https://github.come creare un repository pubblico. Quindi carica i tuoi file utilizzando il pulsante di caricamento del file come mostrato di seguito -

Questo ti darà un'opzione per salvare le modifiche apportate al repository. Quindi, il repository mostrerà il file caricato come di seguito:

Fare clic sul file caricato per visualizzarlo all'interno del visualizzatore GitHub. Puoi condividere l'URL evidenziato con altri.

Un altro modo per visualizzare il file del notebook online è utilizzare l'utilità nbviewer di Project Jupyter. Apertohttps://nbviewer.jupyter.org/e inserisci l'URL del file nel tuo repository nel campo di testo come mostrato. Premere il pulsante Vai per visualizzare il blocco appunti.

Entrambi questi metodi visualizzano il file notebook come html statico. Per poter eseguire il codice nel notebook, aprirlo utilizzando l'applicazione Binder del progetto Jupyter.

Nella finestra di nbviewer vedrai il pulsante "Esegui su Binder". Fai clic su di esso e vedrai il file del notebook aperto esattamente come lo apri dal dashboard locale del server notebook sulla tua macchina locale. Puoi eseguire tutte le azioni come aggiungere / modificare celle, eseguire le celle ecc.

Il progetto Jupyter descrive JupyterLab come un'interfaccia utente basata sul Web di nuova generazione per tutti i prodotti dell'ecosistema Jupyter. Ti consente di lavorare senza problemi con notebook, editor e terminali in modo estensibile.

Alcune delle caratteristiche importanti di JupyterLab sono discusse di seguito:

  • Code Console funge da blocco appunti per l'esecuzione del codice in modo interattivo. Ha pieno supporto per un output ricco e può essere collegato a un kernel del notebook per registrare l'attività del notebook.

  • Qualsiasi file di testo (Markdown, Python, R, LaTeX, ecc.) Può essere eseguito in modo interattivo in qualsiasi kernel Jupyter.

  • L'output della cella del notebook può essere mostrato nella propria scheda o insieme al notebook, consentendo semplici dashboard con controlli interattivi supportati da un kernel.

  • La modifica in tempo reale del documento si riflette in altri visualizzatori come editor o console. È possibile visualizzare un'anteprima in tempo reale di documenti Markdown, Valori separati da delimitatori o Vega / Vega-Lite.

JupyterLab può gestire molti formati di file (immagini, CSV, JSON, Markdown, PDF ecc.). Visualizza anche un output ricco in questi formati. JupyterLab fornisce scorciatoie da tastiera personalizzabili che utilizza mappe di tasti di molti noti editor di testo.

Puoi provare online le funzionalità di JupyterLab prima dell'installazione. Visitarehttps://jupyter.org/try e scegli l'opzione "prova JupyterLab".

La scheda del programma di avvio mostra i kernel e le console attualmente disponibili. È possibile avviare un nuovo notebook / terminale basato su uno qualsiasi di essi. La colonna di sinistra contiene anche schede per il browser di file, kernel in esecuzione e schede e visualizzazione delle impostazioni.

JupyterLab viene normalmente installato automaticamente con la distribuzione Anaconda. Tuttavia, può anche essere installato separatamente utilizzando il seguente comando conda:

conda install -c conda-forge jupyterlab

Puoi anche usare il comando pip per questo scopo -

pip3 install jupyterlab

Per avviare l'applicazione JupyterLab, il modo più conveniente è da Anaconda Navigator, se installato.

In alternativa avviarlo dalla riga di comando dal terminale dei comandi di Windows / Linux o dal prompt di Anaconda utilizzando questo comando -

jupyter lab

In ogni caso, la schermata di avvio dell'applicazione JupyterLab ha questo aspetto:

Per avviare un nuovo notebook, fare clic sul kernel desiderato. Nello screenshot sopra, si vede un kernel che è il kernel Python3. Fare clic per avviare un notebook Python. Osserva che la sua funzionalità è simile a quella che abbiamo studiato in questo tutorial.

Barra dei menu

La barra dei menu si trova nella parte superiore della finestra. I menu predefiniti che puoi trovare in questo sono:

  • File - Azioni relative a file e directory.

  • Edit - Azioni relative alla modifica di documenti e altre attività.

  • View - Azioni che alterano l'aspetto di JupyterLab.

  • Run - Azioni per l'esecuzione di codice in diverse attività come notebook e console di codice.

  • Kernel - Azioni per la gestione dei kernel, che sono processi separati per l'esecuzione del codice.

  • Tabs - Un elenco dei documenti e delle attività aperti nel pannello dock.

  • Settings - Impostazioni comuni e un editor di impostazioni avanzate.

  • Help - Un elenco di JupyterLab e collegamenti alla guida del kernel.

La barra laterale sinistra mostra i pulsanti per avviare un nuovo launcher, aggiungere una cartella, caricare file e aggiornare l'elenco dei file. Il riquadro di destra è l'area di lavoro principale in cui notebook, console e terminali sono visualizzati nella vista a schede.

Per avviare una nuova console, fare clic sul simbolo + nella barra laterale sinistra per aprire un nuovo programma di avvio, quindi fare clic sull'opzione della console. La console si aprirà in una nuova scheda nel riquadro di destra.

Si noti che la cella di input si trova nella parte inferiore, ma quando viene eseguita, la cella e la cella di output corrispondente vengono visualizzate nella parte superiore della scheda della console.

Il programma di avvio consente anche di aprire un editor di testo e un terminale in cui è possibile richiamare la shell IPython.

Il progetto Jupyter ora supporta i kernel degli ambienti di programmazione. Vedremo ora come installare il kernel R nella distribuzione anaconda.

Nella finestra del prompt di Anaconda inserisci il seguente comando:

conda install -c r r-essentials

Ora, dalla scheda del programma di avvio, scegli il kernel R per avviare un nuovo notebook.

Quello che segue è uno screenshot del notebook Jupyter con kernel R -