ImportError: cannot import name 'ParamSpec' from 'typing_extensions' after upgrade to 1.8.3+

I had the same problem. Re-imaged with Raspberry Pi imager which fixed it, but is a bit of a pain to have to set everything up again.

Here's the log from today:

2022-09-20 10:25:16,803   /home/pi/oprint/bin/python -m pip --disable-pip-version-check install https://github.com/OctoPrint/OctoPrint/archive/1.8.3.zip --no-cache-dir
2022-09-20 10:25:19,841 > Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
2022-09-20 10:25:19,842 > Collecting https://github.com/OctoPrint/OctoPrint/archive/1.8.3.zip
2022-09-20 10:25:20,848 > Downloading https://github.com/OctoPrint/OctoPrint/archive/1.8.3.zip (6.6 MB)
2022-09-20 10:25:29,859 > Requirement already satisfied: OctoPrint-FileCheck>=2021.2.23 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2021.2.23)
2022-09-20 10:25:29,860 > Requirement already satisfied: OctoPrint-FirmwareCheck>=2021.10.11 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2021.10.11)
2022-09-20 10:25:29,861 > Requirement already satisfied: OctoPrint-PiSupport>=2022.3.28 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2022.6.13)
2022-09-20 10:25:33,512 > Collecting argon2_cffi<22,>=21.3.0
2022-09-20 10:25:33,513 > Downloading argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
2022-09-20 10:25:33,524 > Requirement already satisfied: cachelib<0.3,>=0.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.2.0)
2022-09-20 10:25:33,524 > Requirement already satisfied: Click<9,>=8.0.3 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (8.1.3)
2022-09-20 10:25:33,524 > Requirement already satisfied: colorlog<7,>=6 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (6.6.0)
2022-09-20 10:25:33,525 > Requirement already satisfied: emoji<2,>=1.4.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.6.1)
2022-09-20 10:25:33,525 > Requirement already satisfied: feedparser<7,>=6.0.8 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (6.0.8)
2022-09-20 10:25:33,525 > Requirement already satisfied: filetype<2,>=1.0.7 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.0.7)
2022-09-20 10:25:33,526 > Requirement already satisfied: Flask-Assets<3,>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.0)
2022-09-20 10:25:33,526 > Requirement already satisfied: Flask-Babel<3,>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.0.0)
2022-09-20 10:25:33,526 > Requirement already satisfied: Flask-Login<0.6,>=0.5 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.5.0)
2022-09-20 10:25:34,803 > Collecting Flask-Limiter<3,>=2.6
2022-09-20 10:25:34,804 > Downloading Flask_Limiter-2.6.2-py3-none-any.whl (25 kB)
2022-09-20 10:25:36,823 > Requirement already satisfied: flask<2.2,>=2.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.1.2)
2022-09-20 10:25:36,824 > Requirement already satisfied: frozendict<3,>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.3.2)
2022-09-20 10:25:36,825 > Requirement already satisfied: future<1,>=0.18.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.18.2)
2022-09-20 10:25:36,826 > Requirement already satisfied: markdown<4,>=3.2.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (3.3.7)
2022-09-20 10:25:36,827 > Requirement already satisfied: netaddr<0.9,>=0.8 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.8.0)
2022-09-20 10:25:36,827 > Requirement already satisfied: netifaces<1,>=0.11 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.11.0)
2022-09-20 10:25:36,827 > Collecting passlib<2,>=1.7.4
2022-09-20 10:25:36,828 > Downloading passlib-1.7.4-py2.py3-none-any.whl (525 kB)
2022-09-20 10:25:39,124 > Requirement already satisfied: pathvalidate<3,>=2.4.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.5.0)
2022-09-20 10:25:39,930 > Requirement already satisfied: pkginfo<2,>=1.7.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.7.1)
2022-09-20 10:25:39,931 > Requirement already satisfied: psutil<6,>=5.8 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (5.8.0)
2022-09-20 10:25:39,931 > Requirement already satisfied: pylru<2,>=1.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.2.0)
2022-09-20 10:25:39,932 > Requirement already satisfied: pyserial<4,>=3.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (3.4)
2022-09-20 10:25:39,933 > Requirement already satisfied: PyYAML<6,>=5.4.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (5.4.1)
2022-09-20 10:25:39,934 > Requirement already satisfied: requests<3,>=2.26.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.26.0)
2022-09-20 10:25:39,934 > Requirement already satisfied: sarge==0.1.6 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.1.6)
2022-09-20 10:25:39,935 > Requirement already satisfied: semantic_version<3,>=2.8.5 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.8.5)
2022-09-20 10:25:39,936 > Requirement already satisfied: sentry-sdk<2,>=1.5.7 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.5.12)
2022-09-20 10:25:39,937 > Requirement already satisfied: tornado<7,>=6.0.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (6.1)
2022-09-20 10:25:39,938 > Requirement already satisfied: watchdog<2,>=1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.0.2)
2022-09-20 10:25:39,938 > Requirement already satisfied: websocket-client<2,>=1.2.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.3.2)
2022-09-20 10:25:39,939 > Requirement already satisfied: werkzeug<2.1,>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2.0.3)
2022-09-20 10:25:39,939 > Requirement already satisfied: wrapt<1.14,>=1.13.3 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.13.3)
2022-09-20 10:25:39,940 > Requirement already satisfied: zeroconf<0.34,>=0.33 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.33.4)
2022-09-20 10:25:39,941 > Requirement already satisfied: zipstream-ng<2.0.0,>=1.3.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.3.4)
2022-09-20 10:25:39,942 > Requirement already satisfied: blinker<2,>=1.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (1.4)
2022-09-20 10:25:39,942 > Requirement already satisfied: regex in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (2020.7.14)
2022-09-20 10:25:39,943 > Requirement already satisfied: unidecode in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint==1.8.3) (0.4.21)
2022-09-20 10:25:39,944 > Collecting argon2-cffi-bindings
2022-09-20 10:25:39,944 > Downloading https://www.piwheels.org/simple/argon2-cffi-bindings/argon2_cffi_bindings-21.2.0-cp37-abi3-linux_armv7l.whl (83 kB)
2022-09-20 10:25:40,951 > Requirement already satisfied: typing-extensions; python_version < "3.8" in /home/pi/oprint/lib/python3.7/site-packages (from argon2_cffi<22,>=21.3.0->OctoPrint==1.8.3) (3.7.4.3)
2022-09-20 10:25:40,952 > Requirement already satisfied: importlib-metadata; python_version < "3.8" in /home/pi/oprint/lib/python3.7/site-packages (from Click<9,>=8.0.3->OctoPrint==1.8.3) (3.7.0)
2022-09-20 10:25:40,953 > Requirement already satisfied: sgmllib3k in /home/pi/oprint/lib/python3.7/site-packages (from feedparser<7,>=6.0.8->OctoPrint==1.8.3) (1.0.0)
2022-09-20 10:25:40,954 > Requirement already satisfied: webassets>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Assets<3,>=2.0->OctoPrint==1.8.3) (2.0)
2022-09-20 10:25:40,955 > Requirement already satisfied: Babel>=2.3 in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Babel<3,>=2.0->OctoPrint==1.8.3) (2.8.0)
2022-09-20 10:25:40,956 > Requirement already satisfied: Jinja2>=2.5 in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Babel<3,>=2.0->OctoPrint==1.8.3) (3.1.2)
2022-09-20 10:25:40,956 > Requirement already satisfied: pytz in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Babel<3,>=2.0->OctoPrint==1.8.3) (2020.1)
2022-09-20 10:25:42,962 > Collecting rich<13,>=12
2022-09-20 10:25:42,963 > Downloading rich-12.5.1-py3-none-any.whl (235 kB)
2022-09-20 10:25:44,480 > Collecting limits>=2.3
2022-09-20 10:25:44,489 > Downloading limits-2.7.0-py3-none-any.whl (41 kB)
2022-09-20 10:25:44,490 > Requirement already satisfied: itsdangerous>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from flask<2.2,>=2.1->OctoPrint==1.8.3) (2.1.2)
2022-09-20 10:25:44,490 > Requirement already satisfied: idna<4,>=2.5; python_version >= "3" in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint==1.8.3) (2.10)
2022-09-20 10:25:44,491 > Requirement already satisfied: charset-normalizer~=2.0.0; python_version >= "3" in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint==1.8.3) (2.0.7)
2022-09-20 10:25:44,491 > Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint==1.8.3) (1.25.10)
2022-09-20 10:25:44,491 > Requirement already satisfied: certifi>=2017.4.17 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint==1.8.3) (2020.6.20)
2022-09-20 10:25:44,491 > Requirement already satisfied: ifaddr>=0.1.7 in /home/pi/oprint/lib/python3.7/site-packages (from zeroconf<0.34,>=0.33->OctoPrint==1.8.3) (0.1.7)
2022-09-20 10:25:47,848 > Collecting cffi>=1.0.1
2022-09-20 10:25:47,850 > Downloading https://www.piwheels.org/simple/cffi/cffi-1.15.1-cp37-cp37m-linux_armv7l.whl (219 kB)
2022-09-20 10:25:49,223 > Requirement already satisfied: zipp>=0.5 in /home/pi/oprint/lib/python3.7/site-packages (from importlib-metadata; python_version < "3.8"->Click<9,>=8.0.3->OctoPrint==1.8.3) (3.4.0)
2022-09-20 10:25:49,224 > Requirement already satisfied: MarkupSafe>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from Jinja2>=2.5->Flask-Babel<3,>=2.0->OctoPrint==1.8.3) (2.1.1)
2022-09-20 10:25:49,225 > Collecting commonmark<0.10.0,>=0.9.0
2022-09-20 10:25:49,226 > Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
2022-09-20 10:25:50,273 > Collecting pygments<3.0.0,>=2.6.0
2022-09-20 10:25:54,448 > Downloading Pygments-2.13.0-py3-none-any.whl (1.1 MB)
2022-09-20 10:25:57,455 > Collecting packaging<22,>=21
2022-09-20 10:25:57,456 > Downloading packaging-21.3-py3-none-any.whl (40 kB)
2022-09-20 10:25:57,456 > Requirement already satisfied: setuptools in /home/pi/oprint/lib/python3.7/site-packages (from limits>=2.3->Flask-Limiter<3,>=2.6->OctoPrint==1.8.3) (50.3.0)
2022-09-20 10:25:58,461 > Collecting deprecated>=1.2
2022-09-20 10:25:58,462 > Downloading Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
2022-09-20 10:25:59,467 > Collecting pycparser
2022-09-20 10:25:59,468 > Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
2022-09-20 10:25:59,469 > Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /home/pi/oprint/lib/python3.7/site-packages (from packaging<22,>=21->limits>=2.3->Flask-Limiter<3,>=2.6->OctoPrint==1.8.3) (2.4.7)
2022-09-20 10:25:59,469 > Building wheels for collected packages: OctoPrint
2022-09-20 10:25:59,470 > Building wheel for OctoPrint (setup.py): started
2022-09-20 10:26:10,483 > Building wheel for OctoPrint (setup.py): finished with status 'done'
2022-09-20 10:26:10,483 > Created wheel for OctoPrint: filename=OctoPrint-1.8.3-py2.py3-none-any.whl size=3906580 sha256=86981256fd1081aaf77b4159af3375f4299ccd363a0521dc926cce0da6669a58
2022-09-20 10:26:10,484 > Stored in directory: /tmp/pip-ephem-wheel-cache-d94t5896/wheels/aa/57/95/cb1218885ea3275084562ce1d97f18fd33595fd1eff0eb7587
2022-09-20 10:26:10,484 > Successfully built OctoPrint
2022-09-20 10:26:12,490 > Installing collected packages: pycparser, cffi, argon2-cffi-bindings, argon2-cffi, commonmark, pygments, rich, packaging, deprecated, limits, Flask-Limiter, passlib, OctoPrint
2022-09-20 10:26:18,499 > Attempting uninstall: packaging
2022-09-20 10:26:18,499 > Found existing installation: packaging 20.9
2022-09-20 10:26:18,500 > Uninstalling packaging-20.9:
2022-09-20 10:26:18,501 > Successfully uninstalled packaging-20.9
2022-09-20 10:26:20,754 > Attempting uninstall: OctoPrint
2022-09-20 10:26:20,755 > Found existing installation: OctoPrint 1.8.2
2022-09-20 10:26:21,761 > Uninstalling OctoPrint-1.8.2:
2022-09-20 10:26:21,762 > Successfully uninstalled OctoPrint-1.8.2
2022-09-20 10:26:33,408 ! ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.
2022-09-20 10:26:33,409 ! 
2022-09-20 10:26:33,409 ! We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.
2022-09-20 10:26:33,410 ! 
2022-09-20 10:26:33,411 ! rich 12.5.1 requires typing-extensions<5.0,>=4.0.0; python_version < "3.9", but you'll have typing-extensions 3.7.4.3 which is incompatible.
2022-09-20 10:26:33,917 > Successfully installed Flask-Limiter-2.6.2 OctoPrint-1.8.3 argon2-cffi-21.3.0 argon2-cffi-bindings-21.2.0 cffi-1.15.1 commonmark-0.9.1 deprecated-1.2.13 limits-2.7.0 packaging-21.3 passlib-1.7.4 pycparser-2.21 pygments-2.13.0 rich-12.5.1

That's what backups are for. You can create a backup prior to upgrading, download that backup just in case, and if you do have to re-image restore the backup during the initial setup wizard. I'd recommend my Backup Scheduler plugin in combination with either my Google Drive Backups plugin or Charlie's OneDrive Backups plugin.

For what it's worth, I had the same issue on updating to 1.8.3 just now. ~/oprint/bin/pip freeze returned:

many lines, expand to see them all

(Note: I edited github links to break them since I'm newly-registered here and can't post more than 5 links)

aiohttp==3.6.2
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
arrow==0.17.0
async-timeout==3.0.1
attrs==20.2.0
awesome-slugify==1.6.5
Babel==2.8.0
backoff==1.10.0
backports.csv==1.0.7
Bed-Visualizer @ GITHUB/jneilliii/OctoPrint-BedLevelVisualizer/archive/1.1.1.zip
binaryornot==0.4.4
blinker==1.4
bson==0.5.10
cachelib==0.2.0
certifi==2020.6.20
cffi==1.15.1
chardet==3.0.4
charset-normalizer==2.0.10
click==8.1.3
colorlog==6.6.0
colorzero==1.1
commonmark==0.9.1
configparser==5.0.0
Consolidate-Temp-Control @ GITHUB/jneilliii/OctoPrint-ConsolidateTempControl/archive/0.1.9.zip
cookiecutter==1.6.0
Deprecated==1.2.13
discord-webhook==0.9.0
DisplayLayerProgress @ GITHUB/OllisGit/OctoPrint-DisplayLayerProgress/releases/latest/download/master.zip
DryRun @ GITHUB/OllisGit/OctoPrint-DryRun/releases/latest/download/master.zip
emoji==1.6.3
feedparser==6.0.8
file-read-backwards==2.0.0
filetype==1.0.7
Flask==2.1.2
Flask-Assets==2.0
Flask-Babel==2.0.0
Flask-Limiter==2.6.2
Flask-Login==0.5.0
frozendict==2.3.2
future==0.18.2
humanize==2.6.0
idna==2.10
ifaddr==0.1.7
imgurpython==1.1.7
immutabledict==2.2.1
importlib-metadata==4.11.4
itsdangerous==2.1.2
Jinja2==3.1.2
jinja2-time==0.2.0
limits==2.7.0
Markdown==3.3.7
MarkupSafe==2.1.1
matrix-client==0.3.2
minio==6.0.0
multidict==4.7.6
netaddr==0.8.0
netifaces==0.11.0
numpy==1.19.2
Octolapse @ GITHUB/FormerLurker/Octolapse/archive/v0.4.0.zip
OctoPrint @ GITHUB/OctoPrint/OctoPrint/archive/1.8.3.zip
OctoPrint-AutoTerminalInput @ file:///tmp/tmppzuinh2g/OctoPrint-AutoTerminalInput-master.zip
OctoPrint-CameraSettings @ GITHUB/The-EG/OctoPrint-CameraSettings/archive/0.4.0.zip
OctoPrint-Cancelobject @ GITHUB/paukstelis/OctoPrint-Cancelobject/archive/0.4.7.zip
OctoPrint-CustomControlPlugin @ GITHUB/Salandora/octoprint-customControl/archive/master.zip
OctoPrint-ExtraFileInfo @ GITHUB/larsjuhw/OctoPrint-Extrafileinfo/archive/1.3.0.zip
OctoPrint-FileCheck @ GITHUB/OctoPrint/OctoPrint-FileCheck/archive/2021.2.23.zip
OctoPrint-FirmwareCheck @ GITHUB/OctoPrint/OctoPrint-FirmwareCheck/archive/2021.10.11.zip
OctoPrint-FirmwareUpdater @ GITHUB/OctoPrint/OctoPrint-FirmwareUpdater/archive/1.13.3.zip
OctoPrint-MeatPack @ file:///tmp/tmpjelet2qx/OctoPrint-MeatPack-master.zip
OctoPrint-NavbarTemp @ GITHUB/imrahil/OctoPrint-NavbarTemp/archive/master.zip
OctoPrint-Obico @ GITHUB/TheSpaghettiDetective/OctoPrint-Obico/archive/2.1.4.zip
OctoPrint-PiSupport @ GITHUB/OctoPrint/OctoPrint-PiSupport/archive/2022.6.13.zip
OctoPrint-PrintTimeGenius @ GITHUB/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip
OctoPrint-PrusaLevelingGuide @ GITHUB/scottrini/OctoPrint-PrusaLevelingGuide/archive/1.0.17.zip
OctoPrint-SetAndWait @ GITHUB/kantlivelong/OctoPrint-SetAndWait/archive/master.zip
OctoPrint-SimpleEmergencyStop @ file:///tmp/tmpau4ld09i/OctoPrint-SimpleEmergencyStop-master.zip
OctoPrint-SlicerSettingsParser @ GITHUB/Rob4226/OctoPrint-SlicerSettingsParser/archive/master.zip
OctoPrint-SystemCommandEditor @ GITHUB/Salandora/OctoPrint-SystemCommandEditor/archive/master.zip
Octoslack @ GITHUB/fraschetti/Octoslack/archive/2.2.0.zip
packaging==21.3
passlib==1.7.4
pathlib2==2.3.5
pathtools==0.1.2
pathvalidate==2.5.0
peewee==3.13.3
picamerab==1.13b1
Pillow==7.2.0
pkg-resources==0.0.0
pkginfo==1.8.2
poyo==0.5.0
Preheat @ GITHUB/marian42/octoprint-preheat/archive/master.zip
Print-Job-History @ GITHUB/OllisGit/OctoPrint-PrintJobHistory/releases/download/1.17.0/master.zip
PrusaSlicer-Thumbnails @ GITHUB/jneilliii/OctoPrint-PrusaSlicerThumbnails/archive/master.zip
psutil==5.9.0
pushbullet.py==0.11.0
pushover-complete==1.1.1
pyasn1==0.4.8
pycparser==2.21
Pygments==2.13.0
pylru==1.2.0
pymsteams==0.1.14
pyparsing==3.0.9
pyserial==3.5
python-dateutil==2.8.1
python-magic==0.4.18
pytz==2020.1
PyYAML==5.4.1
raven==6.10.0
regex==2020.7.14
requests==2.27.1
rich==12.5.1
rocket-python==1.2.14
rsa==4.0
sarge==0.1.6
semantic-version==2.8.5
sentry-sdk==1.5.12
sgmllib3k==1.0.0
six==1.15.0
slack-sdk==3.5.1
slackclient==2.9.0
slacker==0.14.0
SQLAlchemy==1.1.18
Terminal-Commands-Extended @ GITHUB/jneilliii/OctoPrint-TerminalCommandsExtended/archive/0.1.7.zip
Terminal-Messaging @ GITHUB/jeffeb3/OctoPrint-TerminalMessaging/archive/0.1.0.zip
tinys3==0.1.12
Top-Temp @ GITHUB/LazeMSS/OctoPrint-TopTemp/archive/0.0.1.7.zip
tornado==6.1
tplink-cloud-api==1.0.2
typing-extensions==3.7.4.3
Unidecode==0.4.21
uritools==2.1.1
urllib3==1.25.10
watchdog==1.0.2
webassets==2.0
websocket-client==1.3.2
Werkzeug==2.0.3
whichcraft==0.6.1
wrapt==1.13.3
yarl==1.5.1
zeroconf==0.33.4
zipp==3.8.0
zipstream-new==1.1.8
zipstream-ng==1.3.4

I updated pip with ~/oprint/bin/pip install -U pip and then ran ~/oprint/bin/pip check. It found one problem:

rich 12.5.1 has requirement typing-extensions<5.0,>=4.0.0; python_version < "3.9", but you have typing-extensions 3.7.4.3.

I'm not familiar enough with python to know why typing-extensions wouldn't have been updated if something needed it to be updateed, but I ran ~/oprint/bin/pip install -U typing-extensions, restarted OctoPrint, and it came up fine! Not sure what happened but hopefully this may help someone else, and/or point to a reason for this apparently happening to more than one person.

Just remembered Charlie's request for the log file. Here's what I found in mine from today - put it up on pastebin due to all the links in the log (can't post them here since I'm newly-registered): https://pastebin.com/raw/DMSWkeTc

1 Like

Same problem here too. Here's my fix

~/oprint/bin/pip install jinja2==3.0 typing-extensions==4.3.0
sudo service octoprint start

To anyone else who may run into this issue (and people who already posted, although many of you updated pip already): What pip version are you running?

@Chupa might be able to help, if you haven't upgraded pip. If anyone else can remember what version they are on that would be wonderful, although I wouldn't expect that :slightly_smiling_face:

So far from the logs collected, I'm estimating pip is version 20.something. I am wondering if we have encountered a bug with the old pip dependency resolver or similar here, since all the logs we have gathered show the same message about the upcoming 2020 dependency resolver, which was enabled (iirc) in 20.3.

I upgraded from pip 20.2.3:

pi@octopi:~ $ ~/oprint/bin/pip install -U pip
Looking in indexes: Simple index, piwheels - Simple index
Collecting pip
Downloading pip-22.2.2-py3-none-any.whl (2.0 MB)
|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 2.0 MB 2.3 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.2.3
Uninstalling pip-20.2.3:
Successfully uninstalled pip-20.2.3
Successfully installed pip-22.2.2

Is OctoPrint supposed to upgrade its pip installation at times? Is pip supposed to update itself? Are users supposed to do this manually every once in a while? I'm not sure whose responsibility it is.

These forums are great. I had exactly the same problem. Followed the instructions and I am backup and running. Time for a backup!
Thank you!

Thank you for sharing the version. If there is a pattern developing here, that would be wonderful.

There is an option in the software update to allow OctoPrint to check for updates & update pip. Pip updates are outside of our control, and they have on occasions broken stuff which is why we would never automatically suggest updating pip.

It's not something that's usually required - OctoPrint has a minimum pip version of 19.0.1 currently. If this gets increased in the future, it will let you know it needs updating. But if there is a specific version with a bug, then that's kind of unfortunate. Hopefully we can figure out what the pattern is, and figure out a better solution going forward.

@tlfought are you able to share your pip version too?

1 Like

Thanks for the explanation! That makes sense. So is it fair to assume that OctoPrint is developed/tested in an environment with pip version 19.0.1, and using any other versions of pip would be 'at your own risk'? If so I might downgrade my pip to match so I'm less likely to encounter things like this again. Not sure why I updated pip in the first place honestly (probably just assumed newer == better).

./pip -V
pip 22.2.2 from /home/pi/oprint/lib/python3.7/site-packages/pip (python 3.7)

pi@octopi-p1:~/oprint/bin$ ./pip install -U pip
Looking in indexes: Simple index, piwheels - Simple index
Collecting pip
Downloading pip-22.2.2-py3-none-any.whl (2.0 MB)
|β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 2.0 MB 1.6 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.2.3
Uninstalling pip-20.2.3:
Successfully uninstalled pip-20.2.3
Successfully installed pip-22.2.2
pi@octopi-p1:~/oprint/bin$ ./pip install typing-extensions==4.3.0
Looking in indexes: Simple index, piwheels - Simple index
Collecting typing-extensions==4.3.0
Downloading https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Installing collected packages: typing-extensions
Attempting uninstall: typing-extensions
Found existing installation: typing-extensions 3.7.4.3
Uninstalling typing-extensions-3.7.4.3:
Successfully uninstalled typing-extensions-3.7.4.3
Successfully installed typing-extensions-4.3.0

1 Like

I can't speak for Charlie or Gina, but personally when I'm developing for OctoPrint core or my plugins I tend to have pip updated. We did have a problem with one of the early 20 something versions when they added the color output support IIRC that actually broke stuff pretty bad and took a couple of versions to get resolved.

Just to chime in here, I personally develop against Python 3.7 (to not accidentally use newer language features sigh), but keep pip updated as well to get an early warning of new breakage. The quoted pip version number is a minimum requirement that matches what is found on stock OctoPi 0.16, and probably should be updated soon because 0.16 can't even be updated to Python 3 anymore, at least not easily. But that doesn't mean OctoPrint is only guaranteed to work against that pip version, that means anything before that isn't tested.

During my release testing, I test updating against various OctoPi versions (currently Python 3 converted 0.17, 0.18 stock, up to date 0.18, 1.0.0 rc) and OctoPrint versions (stock on the OctoPi version + latest on relevant release channels), as well as a fresh install from pypi und Windows (fresh venv too, install from sdist and wheel) and Linux/OctoPi (replacement of stock install in situ prior to running wizard, install from pypi).

As mentioned elsewhere (and what a beautiful unintentional pun, @Charlie_Powell), OctoPrint's updating boils down to running pip install OctoPrint==<target_version> (though it actually uses an download URL for the release package on GitHub to allow for release channels to function, but that is the same code that ends up on PyPi). So, dependency resolving, updates of third party libs and pulling in new deps is all down to pip. And for some reason, for some of you here that is not properly working for the typing-extensions package, which is a dependency of a dependency of OctoPrint and nothing I even had on my radar let alone saw misbehaving.

I could add a version pin for that to OctoPrint's own dependencies, but frankly I'd like to avoid that as it could cause other issues down the road when whatever requires this dependency sees updates. So I'd rather prefer we figure out here why this is misbehaving (pip bug sounds quite likely actually) and rather solve it without a version pin.

Thanks for the information! Would it make sense to have a 'recommended' version (or versions) of pip for use with OctoPrint? For example you could (automatically?) capture the pip versions installed when you do upgrade testing, and then before a user upgrades OctoPrint there could be a check to see if the currently-installed version of pip is one of those known-good versions. If the user's pip version isn't on the list then you could show a warning and a suggestion to use one of the tested versions before upgrading OctoPrint.

I understand you've got to support a lot of different scenarios already, and I'm certainly not an expert in python so I don't know if this is a good idea. Just wondering if there's anything that could reasonably be done to keep stuff like this from happening again in the future - sounds like there have been 'broken' verisons of pip released before this too, so it may happen again and break people who've updated their pip at some point. It seems that if some testing is already being done that confirms that some pip versions are good, that information could be leveraged when deploying updates in the field.

Using Cura 5.1, linked to OctoPrint I seen the same, similar message; I think waiting a bit cleared it;

But Plugins greyed out; So moving back to previous version of OctoPrint that works without these issues

Where's the bug report? Otherwise this cannot be fixed, I cannot reproduce this.

Temporary Glitch; Seems to be OK with Plugins now:

Cura 5.1 shows Server issue for about 45 seconds then clears; log-on time to sever I think

I had a similar issue on the most recent upgrade and only got the time to look into it now. Updating pip fixed the issue. I saw there was a request for the existing pip version, fortunatley the update process warned me I was previously running 20.2.4 (on OctoPi 0.18.0 and OctoPrint 1.8.4). I don't think I explicitly updated this in the past as the Pi is dedicated to Octoprint, but I may have done an apt update (or possibly apt full-upgrade) at some point as maitenance.

I have no idea if it's related, but the Picam stopped working days before the update (the whole rig has been stable for a long time so two back-to-back issues are intriguing).

Best of luck

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.