How do you run a python script from within notepad++?
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.
- Use "python -u -i $(FULL_CURRENT_PATH)" if you wish to interact with your program (like giving command line inputs).
- 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
Admin
Updated on July 30, 2020Comments
-
Admin over 3 years
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.
-
Martin Sherburn about 13 yearsABSFILE didn't work for me, I had to use this: ****File "%FILE%", line %LINE%, in****
-
yoyo about 12 yearsWorks for me (php in my case), and is (double-)clickable, BUT double-clicking only navigates the specified line number in the active file, it doesn't open the file indicated by %ABSFILE%. This makes clickability almost useless when working on library scripts.
-
Eric almost 12 yearsTo make this work for syntax errors (as well as runtime errors) use
*File "%ABSFILE%", line %LINE%
. The, in*
part won't match on syntax errors as they don't mention the module where the error occurs. -
Assad Ebrahim over 11 yearsIf you want to make this super convenient, you can also set up a console shortcut like so:
npe_cmdalias p = python "$(FULL_CURRENT_PATH)"
. This means you can simply popup the console view, typep
and your script will run. -
Jan M. over 8 yearsThe execution window keeps popping up though. Is there a way to suppress this? I want to be able to push F6 and immediately see console output without having to manually close the window each time.
-
Alexander Van Atta about 8 yearsctr+f6 executes the last NppExec
-
Hamman Samuel almost 8 yearsHow do I create a shortcut to terminate a running script?
-
CryptoPiggy almost 8 years@PatronBernard, you can just CTRL+F6.
-
Excellll about 7 yearsFYI link is dead
-
ands over 5 yearsNew link: notepad++ wiki