Похоже, это невозможно из коробки.Обработка вывода команд оболочки глубоко скрыта во внутренностях ipython.
Одним из решений, которое я бы порекомендовал, является создание собственного магического метода на основе приведенного ниже кода.
Проверьте этот ответ
На его основе я создал простой магический метод, который вы можете использовать:
from subprocess import Popen, PIPE, STDOUT
from IPython.core.magic import register_line_magic
@register_line_magic
def runrealcmd(command):
process = Popen(command, stdout=PIPE, shell=True, stderr=STDOUT, bufsize=1, close_fds=True)
for line in iter(process.stdout.readline, b''):
print(line.rstrip().decode('utf-8'))
process.stdout.close()
process.wait()
Использование:
%runrealcmd ping -c10 www.google.com
Выше код, вероятно, можно было бы написать лучше, но для ваших нужд это должно быть прекрасно.