2016-01-27 15 views
7

Prima di iniziare, voglio dire che non sono un programmatore; Sono un geek e un ingegnere. Quindi, adoro programmare e usarlo accademicamente. Stackoverflow mi ha insegnato oltre l'80% di quello che so su Python.Come ricaricare automaticamente i moduli in IPython?

Il mio problema è che ho bisogno di ricaricare manualmente i moduli nei miei script importando prima importlib nel mio terminale e poi usando importlib.reload(*modulename*) per ricaricarli. Voglio che il mio terminale IPython ricarichi automaticamente i moduli nei miei script python quando li eseguo tramite il mio terminale IPython. Questo funzionalmente è stato fornito nella versione precedente usando il comando magico %autoreload, che non sembra funzionare per me.

ho guardato @ documentazione IPython (link 1), provato ad utilizzare il comando %load_ext autoreload (link 2) e il import ipy_autoreload seguito da %autoreload 2 comando (link 3). Ho trovato più di 4 altre risposte nello stackoverflow che mi dicevano di fare le cose in entrambi i link 2 o 3; non ha funzionato per me. Se qualcuno sa come riportare il riavvio automatico, renderebbe le mie dita un po 'più felici.

Link 1: https://ipython.org/ipython-doc/3/config/extensions/autoreload.html

Link 2: https://stackoverflow.com/a/18216967/5762140

Link 3: https://stackoverflow.com/a/4765191/5762140

Sto usando un'installazione a 64 bit di Windows 7. Ho IPython 4.0.1 che è venuto con la mia installazione di Anaconda3 (3.18.9 64 bit). Screenies sulla mia traccia di errore dal terminale IPython quando provo a usare %load_ext autoreload possono essere forniti su richiesta.

risposta

9

Tutti i link che hai sopra usano i comandi all'interno di ipython. Dovresti provare a modificare il tuo file di configurazione. Apri il tuo terminale e completa i seguenti passaggi.

Fase 1: assicurarsi di avere l'ultima versione ipython installato

$ ipython --version 

Fase 2: scoprire dove il vostro file di configurazione è

$ ipython profile create 

Fase 3: Aprire il file di configurazione con un editor in base alla posizione del tuo file di configurazione. Io uso atomo. Per esempio:

$ atom ~/.ipython/profile_default/ipython_config.py 

Passo 4: Cercare le seguenti righe nel file di configurazione:

c.InteractiveShellApp.extensions = [] 

modificarla in:

c.InteractiveShellApp.extensions = ['autoreload'] 

e poi decommentare quella linea

trova:

c.InteractiveShellApp.exec_lines = [] 

modificarla in:

c.InteractiveShellApp.exec_lines = ['%load_ext autoreload', '%autoreload 2'] 

e quindi rimuovere il commento che la linea

Fatto.

+0

Grazie, per me va bene :).sai come impostare la directory di partenza predefinita per ipython? Ho provato con c.InteractiveShell.ipython_dir ma non sembra essere l'opzione rilevante ... –

+0

@ A.Joly Sarei felice di provare a rispondere alla tua domanda, ma come best practice per StackOverflow, come la tua domanda riguarda a un argomento diverso, per prima cosa cerca una risposta già data alla tua domanda, quindi, se non riesci a trovarne una, pubblica una nuova domanda. – Jomonsugi

+0

Questo è quello che ho fatto;) Ho trovato la risposta, se qualcuno fosse interessato, ecco il link: https://stackoverflow.com/questions/45939209/how-to-set-default-path-automatically-in-ipython –

Problemi correlati