Pull to refresh
Comments 16
Тут есть важная особенность — ipython некорректно работает с юникодом. Я из-за этого полдня убил на поиски ошибки в своем коде при использовании boost.python, а оказалось что под чистым питоном все работает корректно.
Это да, но баг репорт уже есть на эту тему https://bugs.launchpad.net/ipython/+bug/339642
так что вполне вероятно, что пофиксят в ближайших релизах
Надеюсь. Но про проблемы с юникодом я читал в архиве 2х летней давность в их рассылке.

В любом случае, тема интересная :)
Спасибо за информацию!

Пользуюсь ipython уже давно, но магическими командами особо не пользовался, только %time.
Теперь возьму на вооружение whos, логирование и интроспекцию (постоянно приходилось лезть в соседнее окно, чтобы посмотреть параметры для функции).
ipython также замечательно использовать в связке с django
За один автокомплит и удобную навигацию по докстрингам уже можно ему ставить памятник.
Остальные функции хороши когда проект слишком большой или изучается чужая программа.
Автокомплит и в стандартном шелле включается несложно, на хабре был топик на эту тему.
Вопрос: а как заставить ipython переимпортить все импортированные к настоящему моменту модули, перечитывая их (изменившийся) код? Когда-то искал немного, но не нашел, как это сделать. Если редактируешь модуль, чтобы его протестить в терминале приходится перезапускать ipython и заново импортить модуль перед вызовом нужного метода…
да, reload отчасти помогает
но у него есть некоторые не очень приятные caveats, описанные в док-ии, потом хочется уметь релоадить сразу все и также уметь релоадить только конкретный класс. может, я слишком много хочу от питона? :)
За %edit спасибо.

Дефолтный вид ipython показался довольно многословным, но это легко настраивается

$ vim ~/.ipython/ipythonrc

# странно прашивать «желаете ли выйти?» если уже ввел «exit()»
confirm_exit 0

# стадартный вид строки
prompt_in1 '>>> '
prompt_in2 '… '
prompt_out ''
separate_in 0
separate_out 0
separate_out2 0

А еще убрал шапку с версией и справкой.
Only those users with full accounts are able to leave comments. Log in, please.