How do you run a python script from within notepad++? [duplicate]

When I'm using textmate, I simply hit "apple+r" and the program gets interpreted. How can I run a program from within notepad++? I see that F5 is for "Run", but pointing that to Python.exe simply opens up a terminal with python running. It does not run my script.


Solution 1:

Plugins NppExec Execute (F6) is much more powerful than plain Run (F5). Install NppExec via Plugins, Plugin Manager. Then in F6 add/save the following:

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

In Plugins NppExec Console output filters (Shift+F6) add the following HighLight mask:

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

Make sure it's checked, and make it e.g. red and underlined.

Upon "F6/execute" errors will be highlighted and clickable !

This works in NPP568, possibly older.

Solution 2:

You need to pass through the FULL_CURRENT_PATH environment variable to the program, as described in the notepad++ wiki:

python "$(FULL_CURRENT_PATH)"

Solution 3:

You can use PyNPP Plugin (https://github.com/mpcabd/PyNPP) to achieve this.

I know this is old but the answer is for people coming from search.

Solution 4:

possible to use pdb too

The answers above were very useful to get it working. However, once i could run the python programs, I also needed to interact with them. Two things I found out.

  1. Use "python -u -i $(FULL_CURRENT_PATH)" if you wish to interact with your program (like giving command line inputs).
  2. to use the awsome PDB, use "python -u -m pdb $(FULL_CURRENT_PATH)" and then you can easily debug your programs as well. :-) loving it!!

Solution 5:

if u have the NppExec plugin (is by default) hit F6 and add the command that exec your script

python /path/to/script.py