The most depression thing today, is I found a solution to a problem from my OWN BLOG FOUR years ago!
Bottle.py's dev server auto-reloading sucks hell.
The child process will have os.environ['BOTTLE_CHILD'] set to True and start as a normal non-reloading app server. As soon as any of the loaded modules changes, the child process is terminated and re-spawned by the main process. Changes in template files will not trigger a reload. Please use debug mode to deactivate template caching.
The fact is it will neither reload, nor the child process will terminate when you Ctrl+C the main process.
Let's use Django's reloader for bottlepy development!
from bottle import run, Bottle app = Bottle() def dev_server(): run(app, host='0.0.0.0', port=8080, debug=True) if '__main__' == __name__: from django.utils import autoreload autoreload.main(dev_server)
Everything went better than expected.
btw my Tumblr Markdown editor can not accept capital E and R, using PinYin IME is OK. strange!