2009-01-31 18 views
7

Utilizo el siguiente fragmento para colocarlo en un programa intermedio de shell Python. Esto funciona bien, pero solo obtengo la consola estándar. ¿Hay alguna manera de hacer lo mismo pero usando el shell IPython?¿Puedo usar IPython en una consola Python interactiva incorporada?

import code 

class EmbeddedConsole(code.InteractiveConsole): 
    def start(self): 
     try: 
       self.interact("Debug console starting...") 
     except: 
       print("Debug console closing...") 

def print_names(): 
    print(adam) 
    print(bob) 

adam = "I am Adam" 
bob = "I am Bob" 

print_names() 
console = EmbeddedConsole(locals()) 
console.start() 
print_names() 
+0

¿Podría marcar la respuesta de Dereck, ya que está más actualizada ahora? –

Respuesta

13

La respuesta por f3lix ya no es válido lo que parece, yo era capaz de encontrar esto, sin embargo:

En la parte superior de su pitón guión:

from IPython import embed 

Dondequiera que desea girar una consola:

embed() 
2

Embedding IPython podría ser interesante para usted.

Mininum de código para ejecutar IPython en su aplicación:

from IPython.Shell import IPShellEmbed 
ipshell = IPShellEmbed() 
ipshell() # this call anywhere in your program will start IPython 
+0

Vea a continuación, ahora hay una función de inserción de IPython que puede usarse en su lugar. –

Cuestiones relacionadas