Embedding IPython

A função embed () do módulo IPython torna possível embutir IPython no namespace de seus códigos Python. Assim, você pode aproveitar os recursos do IPython, como introspecção de objeto e preenchimento de guia, no ambiente Python padrão.

Os objetos Python presentes no namespace global antes da incorporação estarão disponíveis para IPython.

Se novos objetos forem formados enquanto em IPython ou objetos anteriores forem modificados, eles estarão automaticamente disponíveis para o ambiente padrão após sair do IPython. O shell IPython incorporado não altera o estado de códigos ou objetos anteriores.

No entanto, se o IPython estiver embutido em um namespace local como dentro de uma função, os objetos dentro dele não estarão disponíveis depois que for fechado. Aqui, definimos uma função add (). Dentro de add (), invocamos IPython e declaramos uma variável. Se tentarmos acessar a variável no IPython depois que ela for fechada, a exceção NameError será gerada.