My OctoPrint update fails or can't be started at all

On every new OctoPrint release we see some people run into the same issues with outdated or broken environments all over again, which are covered in the FAQ including fixes. If you encounter a problem during update, please check this collection of the most common issues encountered over the past couple of release cycles first, and test if the included fixes solve your problem:

  1. My OctoPrint update fails with "ImportError: cannot import name NullHandler"
  2. Trying to update OctoPrint on OctoPi 0.16 gives me an "AssertionError" about "assert have_directory_for_build", how do I solve this?
  3. I got some error about "no suitable distribution" during update and now my server won't start
  4. OctoPrint tells me it can't run an update due to my Python environment being outdated, what do I do now?