How do i watch python source code files and restart when i save?
When I save a python source code file, I want to re-run the script. Is there a command that works like this (sort of like nodemon for node)?
Solution 1:
While there are probably ways to do this within the python ecosystem such as watchdog/watchmedo ( https://github.com/gorakhargosh/watchdog ), and maybe even linux scripting options with inotifywait ( https://linux.die.net/man/1/inotifywait ), for me, the easiest solution by far was... to just use nodemon! What I didn't know is that although the github tagline of nodemon is "Monitor for any changes in your node.js application and automatically restart the server - perfect for development" actually nodemon is a delicously generic tool and knows that .py files should be executed with python for example. Here's where I think the magic happens: https://github.com/remy/nodemon/blob/c1211876113732cbff78eb1ae10483eaaf77e5cf/lib/config/defaults.js
End result is that the command line below totally works. Yay!
$ nodemon hello.py
[nodemon] starting `python hello.py`
Solution 2:
You can install nodemon to watch for file changes.
e.g.
npm i -g nodemon
Then to use:
nodemon --exec python3 hello.py
This is for when you use python3 in the command line. On windows you can also use 'py' instead.