Как запустить скрипт Python из Notepad++?

Когда я использую textmate, я просто нажимаю «apple+r», и программа интерпретируется. Как я могу запустить программу из Notepad++? Я вижу, что F5 предназначен для «Выполнить», но указание на Python.exe просто открывает терминал с запущенным python. Он не запускает мой скрипт.


person Chad    schedule 06.03.2010    source источник
comment
Привет, Чад, для тебя приемлем верхний ответ? Если да, отметьте его как таковой или предоставьте дополнительные характеристики.   -  person Cees Timmerman    schedule 29.04.2015


Ответы (6)


Плагины NppExec Выполнить (F6) намного мощнее обычного Выполнить (F5). Установите NppExec через плагины, менеджер плагинов. Затем в F6 добавьте/сохраните следующее:

NPP_SAVE
cd "$(FULL_CURRENT_PATH)"
C:\Python34\python.exe -u "$(FULL_CURRENT_PATH)"

В выходных фильтрах Plugins NppExec Console (Shift+F6) добавьте следующую маску HighLight:

*File "%FILE%", line %LINE%

Убедитесь, что он отмечен, и сделайте это, например. красным и подчеркнутым.

После "F6/выполнить" ошибки будут выделены и кликабельны!

Это работает в NPP568, возможно, старше.

person bjornhb    schedule 18.06.2010
comment
ABSFILE у меня не работал, пришлось использовать это: ****Файл %FILE%, строка %LINE%, in**** - person Martin Sherburn; 15.04.2011
comment
Работает для меня (php в моем случае) и (двойной) щелчок, НО двойной щелчок перемещается только по указанному номеру строки в активном файле, он не открывает файл, указанный% ABSFILE%. Это делает кликабельность практически бесполезной при работе с библиотечными скриптами. - person yoyo; 16.03.2012
comment
Чтобы это работало для синтаксических ошибок (а также ошибок времени выполнения), используйте *File "%ABSFILE%", line %LINE%. Часть , in* не будет соответствовать синтаксическим ошибкам, поскольку в них не упоминается модуль, в котором возникает ошибка. - person Eric; 18.06.2012
comment
Если вы хотите сделать это очень удобным, вы также можете настроить ярлык консоли, например: npe_cmdalias p = python "$(FULL_CURRENT_PATH)". Это означает, что вы можете просто открыть окно консоли, ввести p, и ваш скрипт запустится. - person Assad Ebrahim; 20.08.2012
comment
Однако окно выполнения продолжает появляться. Есть ли способ подавить это? Я хочу иметь возможность нажимать F6 и сразу же видеть вывод консоли без необходимости каждый раз вручную закрывать окно. - person Jan M.; 30.09.2015
comment
Как создать ярлык для завершения работающего скрипта? - person Hamman Samuel; 01.06.2016
comment
@PatronBernard, вы можете просто нажать CTRL+F6. - person CryptoPiggy; 02.06.2016

Вам необходимо передать программе переменную среды FULL_CURRENT_PATH, как описано в Вики-блокнот++:

python "$(FULL_CURRENT_PATH)"
person Oded    schedule 06.03.2010
comment
к вашему сведению ссылка мертва - person Excellll; 28.03.2017
comment
Новая ссылка: вики-сайт Notepad++ - person ands; 29.07.2018

Для этого можно использовать подключаемый модуль PyNPP (https://github.com/mpcabd/PyNPP).

Я знаю, что это устарело, но ответ предназначен для людей, пришедших из поиска.

person mpcabd    schedule 09.06.2014

также можно использовать pdb

Ответы выше были очень полезны, чтобы заставить его работать. Однако, как только я смог запустить программы на Python, мне также нужно было взаимодействовать с ними. Я узнал две вещи.

  1. Используйте «python -u -i $(FULL_CURRENT_PATH)», если вы хотите взаимодействовать с вашей программой (например, вводя данные из командной строки).
  2. чтобы использовать потрясающую PDB, используйте " python -u -m pdb $(FULL_CURRENT_PATH)", и тогда вы также сможете легко отлаживать свои программы. :-) люблю это!!
person varun    schedule 04.12.2012

если у вас есть плагин NppExec (по умолчанию), нажмите F6 и добавьте команду, которая выполняет ваш скрипт

python /path/to/script.py
person clyfe    schedule 06.03.2010

Если я что-то не упустил, другие ответы, посвященные NppExec, не предоставляют способа запустить скрипт одним нажатием клавиши или (диалоговое окно выполнения всегда появляется при нажатии F6, которое должно быть принято до скрипт запускается).

После выполнения шагов в ответе bjornhb следующее позволит вам запускать сценарии одним нажатием клавиши:

  1. В разделе Плагины->NppExec->Дополнительные параметры создайте новый пункт меню. Я просто назвал свой Python. Выберите сценарий, который был сохранен ранее, в раскрывающемся списке Связанный сценарий и нажмите Добавить/Изменить. Нажмите ОК.
  2. Перезапустите Блокнот++
  3. В разделе «Настройки» -> «Сопоставление ярлыков» щелкните вкладку «Команды плагинов» вверху. Прокрутите вниз и найдите название своей команды слева. Дважды щелкните внутри белого поля в столбце «Ярлык» рядом с названием вашей команды. Выберите соответствующую клавишу (или комбинацию) и примите ее. Нажатие сочетания клавиш запустит скрипт без дальнейшего ввода.
person NauticalMile    schedule 08.09.2015
comment
ctr+f6 выполняет последний NppExec - person Alexander Van Atta; 01.03.2016