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:
- My OctoPrint update fails with "ImportError: cannot import name NullHandler"
- Trying to update OctoPrint on OctoPi 0.16 gives me an "AssertionError" about "assert have_directory_for_build", how do I solve this?
- I got some error about "no suitable distribution" during update and now my server won't start
- OctoPrint tells me it can't run an update due to my Python environment being outdated, what do I do now?
- I cannot install/uninstall/update plugins, update OctoPrint, or restore a backup, I get a "UnicodeEncodeError: 'latin-1' codec can't encode characters"
- ImportError: cannot import name 'ParamSpec' from 'typing_extensions' after upgrade to 1.8.3+
We also see a lot of cases of file system corruption that usually only become visible during updates. Always shut your Pi down safely before cutting power to it, do regular backups and also swap your SD once in a while (they do wear out). In case of file system corruption, you might be able to get things going enough to run a backup again by reinstalling.