Mi chiedevo se c'è un modo per riavviare il kernel ipython senza chiuderlo, come la funzione di riavvio del kernel che esiste nel notebook. Ho provato %reset
ma questo non sembra cancellare le importazioni.Reimposta il kernel ipython
risposta
class KernelActionHandler(APIHandler):
@web.authenticated
@json_errors
@gen.coroutine
def post(self, kernel_id, action):
km = self.kernel_manager
if action == 'interrupt':
km.interrupt_kernel(kernel_id)
self.set_status(204)
if action == 'restart':
try:
yield gen.maybe_future(km.restart_kernel(kernel_id))
except Exception as e:
self.log.error("Exception restarting kernel", exc_info=True)
self.set_status(500)
else:
model = km.kernel_model(kernel_id)
self.write(json.dumps(model))
self.finish()
Ehm ... perché il downvote? – knite
Non ho fatto downvoting, ma penso che un po 'di spiegazione cosa volevi dire con questo blocco di codice o come usare quel blocco di codice per resettare le importazioni sarebbe fantastico – greole
Dipende da un sacco di cose esterne e è specifico per le applicazioni web. – erickrf
Anche se sarebbe utile se %reset
sarebbe cancellare lo spazio dei nomi e la cache per le importazioni (come nel notebook) si può ricaricare in modo esplicito un modulo precedentemente importato utilizzando importlib.reload
in python3 .4 o imp.reload
in python3.0-3.3 (e se necessario resettare il kernel in un secondo passaggio).
Nella console qt si potrebbe colpire ctrl-
ho potuto riavviare il kernel, ma alcune sessioni di console richiedere più tempo per riconnettersi. Notebook rileva immediatamente il riavvio del kernel.
ipykernel.ipkernel.IPythonKernel
metodo ha un metodo do_shutdown
con restart
parametro che per impostazione predefinita è False
.
Ottenere un riferimento a ipykernel.kernelapp.IPKernelApp
che ha un riferimento al kernel e chiamare do_shutdown
del kernel passando True
.
import IPython
app = IPython.Application.instance()
app.kernel.do_shutdown(True)
Come ho provato?
@greole la mia soluzione non ha funzionato per te? –
- 1. Riavvia il kernel ipython con un comando da una cella
- 2. Esempio minimalista di IPython kernel comunicazione bidirezionale javascript
- 3. Invio di messaggi da altre lingue a un kernel IPython
- 4. registrazione di kernel in ipython/jupyter notebook - kernel.json
- 5. Cambia IPython 3 per il kernel Python 3 in python2 anche per il cluster
- 6. Notebook IPython - Rileva se il kernel è occupato/inattivo in Javascript
- 7. Reimposta seme automatico
- 8. Reimposta repository git locale
- 9. Devise - Recoverable (Reimposta password)
- 10. Reimposta ramo remoto tracciato
- 11. Reimposta fotocamera utilizzando OrbitControls.js
- 12. Reimposta cache per Dapper
- 13. Come chiudere correttamente Notebook IPython?
- 14. come comunicare i programmi - kernel kernel kernel monolitico kernel exo
- 15. Argomenti per il kernel
- 16. Notebook IPython con optirun
- 17. Reimposta migrazioni Entity Framework 7
- 18. cin.clear() non reimposta l'oggetto cin
- 19. . NET C# Reimposta password - Casuale!
- 20. Javascript - Reimposta setInterval su 0
- 21. Chiamare il kernel OpenCL da un altro kernel OpenCL
- 22. IPython notebook mostra sempre "kernel di partenza, si prega di attendere ..."
- 23. Come aggiungere un kernel su una macchina remota nel blocco note di IPython (Jupyter)?
- 24. Creare i kernel della lingua per IPython per una lingua senza associazioni ZeroMQ
- 25. Come installare più kernel ipython 3.0 (python 2.7, python 3.4, ecc.) Con anaconda sotto linux?
- 26. Come eliminare/aggiornare i kernel disponibili per IPython/Jupyter notebook v4.0?
- 27. Errore di kernel kernel panico
- 28. Il browser di ricaricamento non reimposta la pagina
- 29. Reimposta il piano di esecuzione di SQL Server
- 30. Reimposta il database (elimina tutto), quindi semina un database
Per me sembra per cancellare anche le importazioni (ipython 2.2, MacOSX): In [1]:% whos namespace Interactive è vuoto. In [2]: import os In [3]:% whos Variabile Tipo Dati/Info ------------------------- ----- modulo os .7/lib/python2.7/os.pyc'> In [4]:% reset Una volta cancellato, le variabili non possono essere recuperato. Procedere (y/[n])? y In [5]:% whos Lo spazio dei nomi interattivo è vuoto. –
bjonen
Sì, lo spazio dei nomi è cancellato, ma quando si reimporta sembra leggere una versione cache del modulo, quindi devo usare qualcosa come http://stackoverflow.com/questions/437589/how-do-i-unload- ricarica-a-pitone modulo. – greole
Ah ok, capisco. Puoi anche usare http://ipython.org/ipython-doc/dev/config/extensions/autoreload.html. Ma capisco che questo non è esattamente quello che stai cercando. – bjonen