Как выполнить файл Python в Notepad ++?


122

Я предпочитаю использовать Notepad ++ для разработки,

Как мне выполнить файлы в Python через Notepad ++?



Ответы:


150

Первый вариант: (Самый простой, рекомендуемый)

Откройте Notepad ++. В меню выберите: Выполнить -> Выполнить .. (F5). Введите:

C:\Python26\python.exe "$(FULL_CURRENT_PATH)"

Теперь вместо нажатия кнопки «Выполнить» нажмите «Сохранить», чтобы создать для нее ярлык.

Ноты

  • Если у вас Python 3.1: введите Python31вместоPython26
  • Добавьте, -iесли вы хотите, чтобы окно командной строки оставалось открытым после завершения скрипта

Второй вариант

Используйте пакетный скрипт, который запускает скрипт Python, а затем создайте ярлык для него из Notepad ++.

Как объясняется здесь: http://it-ride.blogspot.com/2009/08/notepad-and-python.html


Третий вариант: (Небезопасно)

Код открывает «HKEY_CURRENT_USER \ Software \ Python \ PythonCore», если ключ существует, он получит путь от первого дочернего ключа этого ключа.

Проверьте, существует ли этот ключ, а если нет, вы можете попробовать его создать.


1
хм, спасибо за помощь. Я попробовал вариант 2, он не сработал. Он сказал: i37.tinypic.com/b4fhfm.jpg В Windows 7 это может быть проблемой?

26
Откройте Notepad ++. В меню выберите: Выполнить -> Выполнить .. (F5). Введите: cmd / K "$ (FULL_CURRENT_PATH)"
Рамиз Уддин

1
Я не понимаю, что такое ярлык. Я сохраняю его и даю ему комбинацию клавиш, но тогда он не запускается, просто нажимая эти клавиши. Что я делаю не так? Я могу сделать это командой плагина и использовать ее, когда выбрано окно консоли. Но это полностью противоречит сути.
AlanSE

3
Хотя этот ответ (№3) кажется наиболее распространенным из всех, что я нашел в Интернете, он мне не подходит. Проблема в том, что он запускает все, что находится в каталоге Notepad ++. Таким образом, я пришел к следующему решению: cmd / c "taskkill / F / IM python.exe & cd $ (CURRENT_DIRECTORY) & C: \ Python27 \ python.exe -i" $ (CURRENT_DIRECTORY) \ $ (FILE_NAME ) "" Это запускает код в правильной папке, а также оставляет интерпретатор открытым после выполнения. Кроме того, он закроет любые другие открытые окна Python, которые вы могли не закрыть, как я часто это делаю.
copeland3300

6
Обновление: это работает для меня тоже: py -3 -i "$(FULL_CURRENT_PATH)". Полезная ссылка для понимания py -3команды: stackoverflow.com/questions/15912063/…
Габриэль Стейплз

42

Ответ @ Ramiz Uddin определенно заслуживает большей наглядности:

  • Откройте Блокнот ++
  • В меню выберите: ВыполнитьВыполнить .. (F5)
  • Введите: cmd /K python "$(FULL_CURRENT_PATH)"

1
Это работает, и его проще настроить IMO. Также добавьте -i, чтобы окно оставалось открытым cmd / K python -i "$ (FULL_CURRENT_PATH)"
SwampYeti

Стоит отметить, что это решение требует добавления Python в ваш PATH. Он работает, открывая командную python "$(FULL_CURRENT_PATH)"
строку

Не работает на Python 3. Для этого см. Мой ответ здесь: stackoverflow.com/a/48528175/4561887
Габриэль Стейплз

это вызывает окно cmd. мы можем вместо этого вызвать PowerShell?
Энтузиазм инженер

20

Вот что у меня сработало:

Откройте блокнот ++ и нажмите F5. Вы получите небольшое всплывающее окно:

Всплывающее окно для входа в программу для запуска

Введите: C: \ Python27 \ python.exe -i "$ (FULL_CURRENT_PATH)" для Python 2.7.

а затем « Сохранить как ...» и выбрать собственную комбинацию клавиш, чтобы запускать ее каждый раз, когда вы хотите что-то запустить


2
Это хороший краткий ответ, и я рекомендовал его своим стажерам, когда они собираются настраивать АЭС для разработки на Python. Но у них постоянно возникали проблемы с пониманием того, где набрать команду, поэтому я добавил рисунок, чтобы усилить ваши (понятные для меня) инструкции. У них также были некоторые проблемы с пониманием того факта, что первая часть команды C:\Python27\python.exeдолжна была изменяться, чтобы отражать, где был установлен их собственный Python, но что вторая половина -i "$(FULL_CURRENT_PATH)"была магией, которую нужно было набирать так же, как есть.
Энн Ганн

14

В меню выберите: «Выполнить» -> «Выполнить ...» (или просто нажмите F5).

Для Python 2 введите:

py -2 -i "$(FULL_CURRENT_PATH)"

Для Python 3 введите:

py -3 -i "$(FULL_CURRENT_PATH)"

Ссылки:

Чтобы лучше понять pyкоманду:

py -h

Еще одна полезная ссылка для понимания pyкоманды: Как запустить Python 2 и 3 в Windows 7?

Спасибо Решуре за его ответ, который помог мне понять это.


1
Up. Используя это с CTRL + ALT + Pярлыком.
akinuri 01

12

Сначала установите Python с https://www.python.org/downloads/

Запустите установщик

** ВАЖНО ** Убедитесь, что вы проверили оба:

  • Установить лаунчер для всех пользователей
  • Добавить Python 3.6 в путь

Нажмите «Установить сейчас» и завершите установку.

Откройте блокнот ++ и установите плагин PyNPP из диспетчера плагинов. Я использую N ++ 6.9.2

Сохраните новый файл как new.py

Введите N ++

import sys

print("Hello from Python!")
print("Your Python version is: " + sys.version) 

Нажмите Alt + Shift + F5

Просто как тот.


Уловка для смены ярлыка: ищите ярлык (а не имя). Отключите тот, который может конфликтовать.
JinSnow

Необязательно: чтобы просто запустить скрипт (любой скрипт, а не только python), вы можете использовать плагин RunMe (но если вы запустите python, консоль python не появится)
JinSnow,

7

Все ответы на пункт меню «Выполнить» -> «Выполнить» идут с переключателем «/ K» в cmd, чтобы терминал оставался открытым, или «-i» для python.exe, поэтому python запускает интерактивный режим - и то и другое, чтобы сохранить вывод для вас. осматривать.

Тем не менее, в cmd /kвы должны ввести, exitчтобы закрыть его, в python -i- quit(). Если вам кажется, что это слишком много для набора текста (для меня это точно :), используйте команду «Выполнить».

cmd /k C:\Python27\python.exe  "$(FULL_CURRENT_PATH)" & pause & exit

C:\Python27\python.exe- очевидно, полный путь к вашей установке python (или просто, pythonесли вы хотите использовать первый исполняемый файл в пути вашего пользователя).

&- это безусловное выполнение следующей команды в Windows - безусловное, поскольку оно выполняется независимо от RC предыдущей команды ( &&"и" - выполняется только в случае успешного завершения предыдущей, ||- "или").

pause- печатает «Нажмите любую клавишу, чтобы продолжить ...». и ждет любой клавиши (при необходимости этот вывод может быть подавлен).

exit - ну типа выход для тебя :)

Итак, в конце cmdвыполняется python.exeзапуск, который выполняет текущий файл и оставляет окно открытым, pauseждет, пока вы нажмете любую клавишу, и, exitнаконец, закрывает окно, как только вы нажмете эту любую клавишу.


1
этот ответ заслуживает быть на вершине
Ali80

1
лучшее решение, которое я видел.
Эрик Варминг,

7

Я также хотел запускать файлы python прямо из Notepad ++. Наиболее распространенный вариант, который можно найти в Интернете, - это использование встроенного параметра Run. Тогда у вас есть два варианта:

  1. Запустите питон файл в консоли (в Windows , это командная строка ) с кодом что - то вроде этого (ссылок: ):введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

    C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"

    (Если ваше окно консоли сразу после запуска закрывается, вы можете добавить его cmd /kв свой код . Ссылки:) Это работает нормально, и вы даже можете запускать файлы в интерактивном режиме , добавляя в свой код (ссылки:) .введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь-iвведите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

  2. Запуск программы питона в IDLE с кодом что - то вроде этого (ссылки: в этих ссылок используется, но я использую вместо этого, потому что наборы правильный текущий рабочий каталог автоматически):введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесьC:\Path\to\Python\Lib\idlelib\idle.pyC:\Path\to\Python\Lib\idlelib\idle.batidle.bat

    C:\Path\to\Python\Lib\idlelib\idle.bat "$(FULL_CURRENT_PATH)"

    Фактически, это не запускает вашу программу в IDLE Shell , но вместо этого он открывает ваш файл python в IDLE Editor, а затем вам нужно щелкнуть Run Module(или нажать F5), чтобы запустить программу. Таким образом, он открывает ваш файл в IDLE Editor, а затем вам нужно запустить его оттуда, что противоречит цели запуска файлов python из Notepad ++.

    Но, поискав в Интернете, я нашел опцию, которая добавляет в ваш код '-r' (ссылки:) :введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

    C:\Path\to\Python\Lib\idlelib\idle.bat -r "$(FULL_CURRENT_PATH)"

    Это запустит вашу программу python в IDLE Shell и, поскольку она находится в IDLE, по умолчанию она находится в интерактивном режиме.

Проблема с запуском файлов python с помощью встроенной Runопции заключается в том, что каждый раз, когда вы запускаете файл python, вы открываете новую консоль или окно IDLE и теряете весь вывод от предыдущих выполнений. Для некоторых это может быть неважно, но когда я начал программировать на python, я использовал Python IDLE , поэтому я привык запускать файл python несколько раз в одном окне IDLE Shell . Также проблема с запуском программ Python из Notepad ++ заключается в том, что вам нужно вручную сохранить файл, а затем щелкнуть Run(или нажать F5). Для решения этих проблем (AFAIK * ) вам необходимо использовать плагины Notepad ++. Лучший плагин для запуска файлов Python из Notepad ++ - NppExec . (Я также пробовал PyNPP и Python Script, PyNPP запускает файлы python в консоли, он работает, но вы можете сделать это без плагина через встроенный Runпараметр, а сценарий Python используется для запуска сценариев, которые взаимодействуют с Notepad ++, поэтому вы не можете запускать файлы python.) Чтобы запустить файл python с помощью NppExec плагин, к которому вам нужно перейти, Plugins -> NppExec -> Executeа затем введите что-то вроде этого (ссылки:) :введите описание изображения здесь введите описание изображения здесь

C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"

С помощью NppExec вы также можете сохранить файл python перед запуском с помощью команды , установить рабочий каталог с помощью команды или запустить программу Python в интерактивном режиме с помощью команды . Я нашел много ссылок ( ) в Интернете, в которых упоминаются эти параметры, но лучше всего использовать NppExec для запуска программ Python, которые я нашел в Руководстве по NppExec, в котором есть глава с этим кодом :npp_save cd "$(CURRENT_DIRECTORY)" -i введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь4.6.4. Running Python & wxPython

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python27  // use Python 2.7
npp_setfocus con  // set the focus to the Console
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console

Все, что вам нужно сделать, это скопировать этот код и изменить свой каталог python, если вы используете какую-либо другую версию python (например, * я использую python 3.4, поэтому мой каталог есть C:\Python34). Этот код работает отлично, но есть одна строка, которую я добавил в этот код, поэтому я могу запускать программу python несколько раз без потери предыдущего вывода:

npe_console m- a+

a+ состоит в том, чтобы включить режим «добавления», который сохраняет текст предыдущей консоли и не очищает его.

m- отключает внутренние сообщения консоли (они зеленого цвета)

Последний код, который я использую в окне Execute NppExec:

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python34  // use Python 3.4
npp_setfocus con  // set the focus to the Console
npe_console m- a+
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console

Вы можете сохранить свой код NppExec и назначить сочетание клавиш для этого скрипта NppExec. (Вам нужно открыть дополнительные параметры плагина NppExec , выбрать свой скрипт в Associated scriptраскрывающемся списке, нажать Add/Modify, перезапустить Notepad ++, перейти к Notepad ++ Settings->Shortcut Mapper -> Plugin commands, выбрать свой скрипт, щелкнуть Modifyи назначить сочетание клавиш . Я хотел использовать в F5качестве сочетания клавиш, для этого вам нужно Runсначала изменить сочетание клавиш для встроенного параметра на что-то еще.) Ссылки на главы из Руководства NppExec, в которых объясняется, как сохранить код NppExec и назначить сочетание клавиш: NppExec's "Execute...", NppExec's script.

PS * : С помощью плагина NppExec вы можете добавить Highlight Filters(найти Console Output Filters...), выделяющие определенные строки. Я использую его, чтобы выделить строки ошибок красным цветом, для этого вам нужно добавить Highlight masks: *File "%FILE%", line %LINE%, in <*>и Traceback (most recent call last):вот так .


По состоянию на 2018 год это лучший и наиболее полный ответ.
Джимми Хе

6

Ни одно из ранее предложенных решений у меня не помогло. Требуется небольшая модификация.

После нажатия F5 в Notepad ++ введите:

cmd /k "C:\Python27\python.exe $(FULL_CURRENT_PATH)"

Командная строка остается открытой, поэтому вы можете видеть результат выполнения сценария.


5

Я использую плагин NPP_Exec (находится в диспетчере плагинов). Как только это будет установлено, откройте окно консоли (ctrl + ~) и введите:

cmd

Это запустит командную строку. Затем введите:

C:\Program Files\Notepad++> **python "$(FULL_CURRENT_PATH)"**

для выполнения текущего файла, с которым вы работаете.


4

Я бы хотел, чтобы здесь люди публиковали шаги, а не просто общие концепции. В конце концов я получил версию cmd / k для работы.

Пошаговые инструкции:

  1. В NPP щелкните пункт меню: Выполнить
  2. В подменю нажмите: Выполнить
  3. В диалоговом окне "Выполнить ..." в поле "Программа для выполнения" удалите любой существующий текст и введите: cmd / K "$ (FULL_CURRENT_PATH)" Параметр / K является необязательным, он сохраняет открытое окно, созданное при запуске сценария. , если вы этого хотите.
  4. Нажмите кнопку "Сохранить ...".
  5. Откроется диалоговое окно «Ярлык»; заполните его, если вам нужно сочетание клавиш (есть примечание: «Это отключит ускоритель», что бы это ни было, так что, возможно, вы не хотите использовать сочетание клавиш, хотя, вероятно, не повредит назначить его, когда вы не нужен ускоритель). Я думаю, где-то вы должны сообщить NPP, где находится файл Python.exe (например, для меня: C: \ Python33 \ python.exe). Я не знаю, где и как вы это делаете, но, попробовав здесь разные вещи, я смог это сделать - я не помню, какая попытка сработала.

Я предполагаю, что Python просто на вашем пути. Это работает для меня, и поэтому мне не нужно было сообщать АЭС, где находится Python (и я не верю, что есть где сказать АЭС, где находится Python)
Райан

3

Здесь нет ответа или плагин, который я нашел, предоставил то, что я хотел. Минималистичный метод запуска моего кода Python, который я написал на Notepad ++, нажатием ярлыка, желательно без плагинов.

У меня Python 3.6 (64-бит), для Windows 8.1 x86_64 и Notepad ++ 32bit. После того, как вы напишете свой скрипт Python в Notepad ++ и сохраните его, нажмите F5 для Run. Затем написать:

"C:\Path\to\Python\python.exe" -i "$(FULL_CURRENT_PATH)"

и нажмите кнопку "Выполнить". В iфлаг силы терминал , чтобы остаться еще после выполнения кода окончилась, для вас , чтобы проверить его. Эта команда запустит скрипт в терминале cmd, и терминал все еще будет там, пока вы не закроете его, набрав exit().

Вы можете сохранить это как ярлык для удобства (у меня CTRL + SHIFT + P).


2

Есть одна проблема, которую я не видел решенной с помощью приведенных выше решений. Python устанавливает текущий рабочий каталог в том месте, откуда вы запускаете интерпретатор. Если вам нужно, чтобы текущий рабочий каталог совпадал с каталогом, в котором вы сохранили файл, вы можете нажать F5 и ввести следующее:

cmd /K cd "$(CURRENT_DIRECTORY)"&C:\Users\username\Python36-32\python.exe -i "$(FULL_CURRENT_PATH)"

За исключением того, что вы замените C: \ Users \ username \ Python36-32 \ python.exe на любой путь к интерпретатору python на вашем компьютере.

В основном вы запускаете командную строку, меняете каталог на каталог, содержащий файл .py, который вы пытаетесь запустить, а затем запускаете его. Вы можете связать вместе столько команд командной строки, сколько захотите, с помощью символа «&».


Notepad ++ не распознает ваш CURRENT_DIRECTORYкак каталог файла кода.
strpeter

2
Большое спасибо за этот ответ - какое-то время я боролся с текущим каталогом. Я сделал несколько модов: он cmd /K cd "$(CURRENT_DIRECTORY)"&python "$(FULL_CURRENT_PATH)"&pause&exit сочетает в себе все элементы предыдущего ответа.
Thornkey

2

Моя проблема заключалась, как было упомянуто copeland3300, в том, что мой скрипт запускается из папки notepad ++, поэтому было невозможно найти другие файлы проекта, такие как файл базы данных, модули и т. Д. Я решил проблему с помощью стандартной команды notepad ++ «Выполнить» ( F5) и введите:

cmd /k  "cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)""

Python БЫЛ в моем PATH. Окно Cmd оставалось открытым после завершения скрипта.


1

Расширение ответа Решуре

  1. Open Run → Run ... из строки меню в Notepad ++ (ярлык: F5)

  2. В данном поле введите:

    "$(FULL_CURRENT_PATH)"  -1
  3. Нажмите " Выполнить"

да да!


также для обработки ошибок оберните весь код в блок try except, импортируйте трассировку вне блока try except (я действительно не знаю, можно ли импортировать трассировку внутри) и в части except добавьте,traceback.print_exc();input()
Адитья Шанкар

1

Я бы не хотел использовать полный путь к каталогу python в макросе Notepad ++. Я пробовал другие решения, приведенные на этой странице, они потерпели неудачу.

На моем ПК работает:

В Notepad ++ нажмите F5.

Скопируйте / вставьте это:

cmd /k cd /d $(CURRENT_DIRECTORY) && py -3 -i $(FULL_CURRENT_PATH)

Войти.


0

Я начал использовать Notepad ++ для Python совсем недавно и нашел этот метод очень простым. Когда вы будете готовы запустить код, щелкните правой кнопкой мыши вкладку своего кода в окне Notepad ++ и выберите «Открыть папку с содержимым в cmd». Это откроет командную строку в папке, где хранится текущая программа. Все, что вам теперь нужно сделать, это выполнить:

питон

Это было сделано в Notepad ++ (сборка 10 января 2015 г.).

Я не могу добавить скриншоты, поэтому вот запись в блоге со скриншотами - http://coder-decoder.blogspot.in/2015/03/using-notepad-in-windows-to-edit-and.html



0

Если кто-то хочет передать аргументы в cmd.exe и запустить скрипт python в виртуальной среде, я использовал следующие шаги:

В Notepad ++ -> Выполнить -> Выполнить я ввожу следующее:

cmd /C cd $(CURRENT_DIRECTORY) && "PATH_to_.bat_file" $(FULL_CURRENT_PATH)

Здесь я перехожу в каталог, в котором существует файл .py, чтобы он позволял получить доступ к любым другим соответствующим файлам, которые находятся в каталоге кода .py.

И в файле .bat у меня есть:

@ECHO off
set File_Path=%1

call activate Venv
python %File_Path%
pause

0

Вы можете запустить свой сценарий через cmd и находиться в каталоге сценариев:

cmd /k cd /d $(CURRENT_DIRECTORY) && python $(FULL_CURRENT_PATH)

0

Я обычно предпочитаю запускать свои скрипты python в собственной интерактивной оболочке IDLE, а не из командной строки или что-то в этом роде. Я пробовал, и у меня это работает. Просто откройте «Выполнить> Выполнить ...» и вставьте приведенный ниже код.

python  -m idlelib.idle -r "$(FULL_CURRENT_PATH)"

После этого вы можете сохранить его с помощью горячей клавиши.

Вы должны убедиться, что желаемый питон добавлен и зарегистрирован в переменных среды.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.