The simplest thing to do here would be to add use_reloader=False
to your call to app.run
– that is: app.run(debug=True, use_reloader=False)
Alternatively, you can check for the value of WERKZEUG_RUN_MAIN
in the environment:
if os.environ.get("WERKZEUG_RUN_MAIN") == "true":
# The reloader has already run - do what you want to do here
However, the condition is a bit more convoluted when you want the behavior to happen any time except in the loading process:
if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == "true":
# The app is not in debug mode or we are in the reloaded process