2011-02-09 4 views
3

Я часто использую ipython (или обычную оболочку python) для проверки фрагментов кода python во время кодирования, и это было очень полезно. Один из недостатков этого, однако, состоит в том, что если я хочу протестировать многострочный сегмент кода или хочу написать несколько строк кода перед запуском, это не очень удобно делать «по строкам». И даже возврат к изменению некоторых строк является громоздким, потому что вам нужно повторно ввести весь код, который появляется после него.Легкая консоль/IDE для Python?

Сейчас я играю с Groovy, и я нахожу, что у него есть отличное решение этой проблемы: Groovy Console. Вы просто пишете весь код, который хотите, это просто обычный редактор; а затем вы нажмете Ctrl + R (Cmd + R на самом деле, так как я нахожусь на Mac), и он запускает все сразу. Если вы хотите что-то изменить (например, если есть ошибки), то это тоже легко - просто измените его и Ctrl + R снова.

Есть ли эквивалент этого для python? Или у вас есть какие-либо рекомендации по достижению аналогичного поведения? Я мог бы просто создать новый файл, сохранить его, а затем python <filename>.py из оболочки. Но это слишком много шагов и будет громоздким. Eclipse может быть вариантом, но он слишком тяжелый. Я действительно ищу что-то легкое, что я могу просто раскрутиться, когда я хочу что-то проверить, а затем избавлюсь от него так же быстро.

Мне было бы интересно услышать любые идеи/предложения!

Благодаря

+0

Какой редактор вы используете? Можете ли вы отобразить в нем последовательности управляющих клавиш? Например, в vim вы можете ': nmap :! Python% ' –

+0

@glenn: очень приятно, я обязательно попробую, и да, я действительно использую vim. – mindthief

ответ

4

Возможно, вы дадите DreamPie. Насколько я могу судить по быстрому просмотру страницы groovyConsole, с которой вы связаны, DreamPie имеет аналогичное разделение области ввода/вывода (они называют это «поле кода» и «окно истории»). Код, который вы выполняете, по умолчанию очищается от кода, который, по-видимому, не делает groovyConsole, но вы можете легко получить его (Ctrl + Up) или изменить настройку предпочтения на «Оставить код в поле кода после выполнения».

+0

, что выглядит многообещающим, я проверю! – mindthief

+0

Я, наконец, добрался до этого, и - DreamPie - это не только то, что я искал, когда задавал вопрос, у него даже были возможности, которые я хотел в GroovyConsole! Он обладает лучшими функциями GroovyConsole и iPython, и это действительно все, что может понадобиться. Спасибо, это отличная находка! – mindthief

3

Вы пробовали использовать IDLE, стандартный IDE Python? Вам нужно сохранить код как <filename>.py в IDLE, но после этого вы можете запустить его с помощью F5.

Документы Python ссылаются на this intro to IDLE, что может быть полезно, даже если оно немного устарело.

+0

Спасибо, просто попробовал IDLE, и требование сохранить файл - это действительно муха в пудинге на этом. Вам также нужно открыть новое окно после первоначального запуска (первый запуск показывает только оболочку). Просто мелочи, но их достаточно, чтобы сдержать. Это близко, хотя ... Мне нужно попробовать несколько раз, чтобы посмотреть. – mindthief

1

Вы попробовали PyCrust? Он имеет превосходное многострочное редактирование, поддержку копирования/вставки.

PyCrust можно найти в wxPython Docs and Demos.

+0

спасибо, я проверю это – mindthief

2

Я использую emacs и его python-режим.
C-c C-c: Evals текущий буфер
но вы также можете Eval область (т.е. выбор), функции и т.д. ...

Вы можете даже сделать использование питона режима IPython (как я).
См. http://ipython.scipy.org/dist/ipython.el. Это хорошо работает

+0

не пользователь emacs, но если я когда-либо использую emacs, я попробую это :) – mindthief

Смежные вопросы