Найти - Пользователи
Полная версия: Notepad ++ и python
Начало » Инструментальные средства разработки » Notepad ++ и python
1 2
dmnBrest
Перенес это сообщение из другой темы, потому что возник по нему вопроси, который собственно ниже!

—————————————
Сам долго пытался найти ответ на этот вопрос. Перечитано куча форумов и статей. И жаль, что помогли именно буржуи. Почему-то у них принято давать более развернутые и понятные ответы, чем просто пару наводящих слов и типо “дальше ты знаешь”. Сам давно пользуюсь 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

Может кто сталкивался с этим, есть ли таблетка?
Kogrom
Возможно, немножко не в тему, но попробуйте UliPad. Чем-то похож на Notepad++, но заточен для Python. Там встроенная консоль.
dmnBrest
УРА! Еп-тить! :)))))))))))))))))))))))))

Заработал последовательный вывод в консоль Notepad ++ (во время работы скрипта)

!!!!! НАДО в настройке NppExec (F6) указать чтобы интерпретатор вызывался с параметром -i (дословно не могу перевести что он делает, но английские слова в описании понравились :) )

В общем забиваем
python -i $(FILE_NAME)

И ВОТ ТЕПЕРЬ НАСЛАЖДАЕМСЯ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
JOHN_16
на счет -i спасибо, мне помогло в соседнем топике и несколько по другой теме
dmnBrest
В процессе была замечена еще одна особенность поведения консоли при вызове интерпретатора Python с параметром -i

- при окончании работы кода в консоли появляется приглашение питона (>>>) для дальнейшей работы в интерактивном режиме и при последующем запуске кода (Ctrl+F6) вываливается предупреждение что программа еще не завершена и требуется послать Ctrl+C для ее завершение и нового запуска.
В общем не сильная проблема, но неудобства добавляет :(

Найдено решение: в конце кода поставить вызов os._exit(1). Все интерпретатор завершит работу и NppExec торжественно выдаст сообщение
================ Ready =================
о готовности к новому запуску.
basist
Сделал как описано в первом сообщении, пишет

CreateProcess() failed with error code 2:
Не удается найти указанный файл.

================ READY ================

Подскажите, в чем проблема? и надо ли где-то прикручивать питон к нп++?
igor.kaist
Оффтоп.
Попробуйте Scite, от Notepad++ практически ничем не отличается, на том же движке сделан.
basist
Попробовал.

>pythonw -u "start.py"
>Не удается найти указанный файл.
такое ощущение, что где-то надо директорию прописать…
igor.kaist
basist
такое ощущение, что где-то надо директорию прописать…
откройте python.prorerties и пропишите путь к питону.
Либо просто добавьте путь к питону в PATH системы, это вообще самый кошерный вариант. Не понимаю, почему стандартный инсталлер питона до сих пор этого не делает
basist
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
UPD:
это типа программа не закончила своё выполнение? пришлось exit() в консоли написать чтобы там появилось READY :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB