I have a long-running Python server and would like to be able to upgrade a service without restarting the server. What\'s the best way do do this?
if foo.py
Other option. See that Python default importlib.reload
will just reimport the library passed as an argument. It won't reload the libraries that your lib import. If you changed a lot of files and have a somewhat complex package to import, you must do a deep reload.
If you have IPython or Jupyter installed, you can use a function to deep reload all libs:
from IPython.lib.deepreload import reload as dreload
dreload(foo)
If you don't have Jupyter, install it with this command in your shell:
pip3 install jupyter