Встроенная интерактивная оболочка в IPython

До перехода на IPython v0.11 (с использованием Python 2.6.1) можно было встроить интерактивную оболочку IPython, используя, например, этот , например

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

«Встроенная оболочка была преобразована в действительно автономный подкласс InteractiveShell под названием InteractiveShellEmbed . Вся логика внедрения была взята из базового класса и помещена во встроенный подкласс» (см. здесь и здесь ).

Насколько я понимаю, теперь вы можете просто запустить консоль с помощью

import IPython
IPython.embed()

. Однако это вызывает

TraitError: черта 'exit_msg' экземпляра InteractiveShellEmbed должна быть строкой, но значением u '' было указано.

Если мы передадим строку для exit_msg через

IPython.embed(exit_msg='Whatever')

, то это вызовет другую ошибку

AttributeError: объект 'InteractiveShellEmbed' не имеет атрибута 'set_completer'

Сталкивался ли кто-нибудь еще с этой проблемой ? В противном случае это может быть ошибкой, поскольку это все-таки версия для разработчиков.

6
задан Community 23 May 2017 в 12:02
поделиться