Форум сайта python.su
Перенес это сообщение из другой темы, потому что возник по нему вопроси, который собственно ниже!
—————————————
Сам долго пытался найти ответ на этот вопрос. Перечитано куча форумов и статей. И жаль, что помогли именно буржуи. Почему-то у них принято давать более развернутые и понятные ответы, чем просто пару наводящих слов и типо “дальше ты знаешь”. Сам давно пользуюсь Notepad ++ и считаю его самым лучшим редактором кода (Windows). Проблема была в том, что запускать код потом приходилось из командной строки.
Некоторое время использовал NetBeans, но из-за его громоздкости отказался от этой идеи.
Возвращаясь к Notepad ++, нашел на буржуйском форуме описание как прикрутить Python к консоли Notepad ++. И о чудо все заработало. А рецептом было использование плагина NppExec. (кому интересно курить доки, то они прямо в папке с плагином находятся и придельны понятны).
Короче мой рецепт:
1. Скачивается Notepad ++ Portable (можно прям с флешки запускать)
2. Plugins -> NppExec -> Execute…
3. в окошке пишем python $(FILE_NAME)
4. тискаем Save…, сохраняем
5. Опять Plugins -> NppExec и ставим галочки напротив Save file on execute и Follow $(CURRENT_DYRECTORY)
6. Еще один маленький шаг (но очень важный и приятный) настройка кодировки в консоли (в настройках идем в Plugins -> NppExec -> Consol Output… )
ВСЕ! Редактируем код, тискаем Ctrl+F6 и радуемся отчету в нижней части экрана
Вот вам из редактора получается Python IDE (портативная, легкая и расширяемая)
P.S. Nodepad ++ к тому же имеет целый ряд других полезных плагинов (я например активно использую FTP_synchronize и Zen Coding)
———————————————————-
НАШЕЛ БОЛЬШУЮ ПРОБЛЕМУ!
До этого с этим не сталкивался, но ситуация такая:
Вывод в консоль плагина NppExec происходит только после завершения работы скрипта, т.е. промежуточные выводы (командой print скажем) не видны. Сидишь и смотришь на пустое поле до посинения, а потом БАЦ и все до кучи.
Весьма неприятный момент, особенно учитывая, что из-за него я и перешел с php на python
Может кто сталкивался с этим, есть ли таблетка?
Отредактировано (Авг. 31, 2010 17:12:39)
Офлайн
Возможно, немножко не в тему, но попробуйте UliPad. Чем-то похож на Notepad++, но заточен для Python. Там встроенная консоль.
Офлайн
УРА! Еп-тить! :)))))))))))))))))))))))))
Заработал последовательный вывод в консоль Notepad ++ (во время работы скрипта)
!!!!! НАДО в настройке NppExec (F6) указать чтобы интерпретатор вызывался с параметром -i (дословно не могу перевести что он делает, но английские слова в описании понравились :) )
В общем забиваем
python -i $(FILE_NAME)
И ВОТ ТЕПЕРЬ НАСЛАЖДАЕМСЯ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Отредактировано (Сен. 1, 2010 12:58:51)
Офлайн
на счет -i спасибо, мне помогло в соседнем топике и несколько по другой теме
Офлайн
В процессе была замечена еще одна особенность поведения консоли при вызове интерпретатора Python с параметром -i
- при окончании работы кода в консоли появляется приглашение питона (>>>) для дальнейшей работы в интерактивном режиме и при последующем запуске кода (Ctrl+F6) вываливается предупреждение что программа еще не завершена и требуется послать Ctrl+C для ее завершение и нового запуска.
В общем не сильная проблема, но неудобства добавляет :(
Найдено решение: в конце кода поставить вызов os._exit(1). Все интерпретатор завершит работу и NppExec торжественно выдаст сообщение
================ Ready =================
о готовности к новому запуску.
Отредактировано (Сен. 4, 2010 14:52:26)
Офлайн
Сделал как описано в первом сообщении, пишет
CreateProcess() failed with error code 2:
Не удается найти указанный файл.
================ READY ================
Подскажите, в чем проблема? и надо ли где-то прикручивать питон к нп++?
Офлайн
Оффтоп.
Попробуйте Scite, от Notepad++ практически ничем не отличается, на том же движке сделан.
Офлайн
Попробовал.
>pythonw -u "start.py"
>Не удается найти указанный файл.
Офлайн
basistоткройте python.prorerties и пропишите путь к питону.
такое ощущение, что где-то надо директорию прописать…
Офлайн
igor.kaist, благодарю! Прописал в PATH, помогло, запускается и там и там, но в NP++ теперь такая штука: при нажатии F6, Ctrl+F6 появляется окошко:
чтобы это значило?))
при вводе, например, “q” в консоли:
>>> q
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'q' is not defined
Отредактировано (Фев. 1, 2011 23:23:27)
Офлайн