Ipython или bpython?

Мне очень нравится ipython, но один из моих коллег показал мне bpython, и мне это очень понравилось [1].

В чем ipython отсутствует bpython и наоборот? Как они отличаются друг от друга?

[1] Единственное, что мне не понравилось, это тот факт, что он очищает экран при запуске

Ответ 1

Если вам нужен только интерактивный интерпретатор, bpython должен быть в порядке. Просто используйте его, пока не пропустите некоторую функцию, которая вам понравилась в IPython.

Есть много функций, которые IPython предлагает для bpython:

  • Специальные опции для потоковой передачи. Мне нравится -gthread для экспериментов с PyGTK и -pylab для matplotlib.

  • Прямой вызов команд оболочки. cd в IPython весьма полезен.

  • Полная поддержка библиотеки readline - я могу использовать сочетания клавиш, к которым я привык.

  • Возможность перезагрузки модуля. Вы можете выполнить глубокую перезагрузку модуля после того, как вы изменили код. Это очень полезно для тестирования и отладки.

  • Запустите функции в фоновом режиме в отдельной задаче с помощью %bg.

  • Вся параллельная среда программирования (на самом деле это не функция, которую вы ожидаете от интерактивной оболочки Python, но IPython ее предлагает).

Этот список может быть почти произвольно продолжен. И, конечно же, в bpython будет много возможностей, отсутствующих на IPython, но вы не просили их.

Поэтому просто используйте тот, который работает для вас!

Ответ 2

IPython Notebook (начиная с 0.12) является функцией убийцы.