2015-11-30 20 views
27

Nella prima cella di ogni notebook ipython (Jupyter), I tipo quasi sempre:modello predefinito per ipython notebook (utilizzando Jupyter)

%matplotlib inline 
import matplotlib.pyplot as plt 
import numpy as np 

C'è un modo per fare in modo che questa cella viene visualizzato nella parte all'inizio di ogni nuovo quaderno che creo di default?

Ad esempio, è possibile salvare un file modello .ipynb da qualche parte, che viene copiato da iPython durante la creazione di un nuovo blocco note?

(ho trovato this question, ma sembra di essere di più su css di contenuto predefinito nelle cellule.)

+4

Penso che sarebbe utile. Non penso che questo esista al momento. – cel

risposta

8

So che non può essere quello che stai cercando (questo esempio non è buono per lavorare sui notebook che deve essere eseguito in più ambienti, ad esempio condiviso), ma ho inserito quanto segue in un file chiamato ipython_config.py nella mia cartella .ipython.

c.InteractiveShellApp.exec_lines = ['%matplotlib inline', 
    'import numpy as np', 
    'import scipy.constants as scc', 
    'import scipy.integrate as sci', 
    'from mpl_toolkits.mplot3d import Axes3D', 
    'import scipy.optimize as sco' 
] 

Viene eseguito prima che tutto funzioni in qualsiasi console interattiva, incluso il notebook jupyter. Se si desidera una spiegazione esplicita, penso che rimarrete delusi (a meno che non vogliate integrare le funzionalità per noi)

+2

L'impostazione delle importazioni implicite nella configurazione danneggia la portabilità dei notebook. Sarebbe molto meglio avere un modello con importazioni esplicite per chiarezza perché nello Zen di Python: "Explicit è meglio di implicito". – Mike

+2

Continuo a rivedere questa domanda io stesso per vedere se qualcuno l'ha capito. Penso che potrebbe essere fatto con una personalizzazione del pre_save_hook che jupyter usa quando salva un notebook, ma non l'ho ancora capito. – Riet

+1

Questo è un trucco ma funziona. Tengo un file startup.py (diversi) che è semplicemente un caso in Jupyter di chiamare% load startup.py. Nient'altro che un tipo veloce ma funziona ... –

Problemi correlati