Update to OctoPrint 1.11.3 fails with SSL: CERTIFICATE_VERIFY_FAILED on psutil package

What is the problem?

Updating from 1.11.1 to 1.11.3, the update fails with an error related to psutil package install failing with SSL: CERTIFICATE_VERIFY_FAILED.

Updating, please wait.

++++++++++++++++++++++++++++++++
Now updating OctoPrint to 1.11.3
++++++++++++++++++++++++++++++++
/home/pi/oprint/bin/python -m pip --disable-pip-version-check install https://github.com/OctoPrint/OctoPrint/archive/1.11.3.zip
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting https://github.com/OctoPrint/OctoPrint/archive/1.11.3.zip
Using cached https://github.com/OctoPrint/OctoPrint/archive/1.11.3.zip (7.1 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Requirement already satisfied: netifaces<0.12,>=0.11.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.11.0)
Requirement already satisfied: semantic_version<3,>=2.10.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.10.0)
Requirement already satisfied: werkzeug<3.1,>=3.0.6 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (3.0.6)
Requirement already satisfied: frozendict<3,>=2.4.6 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.4.6)
Requirement already satisfied: Flask-Login<0.7,>=0.6.3 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.6.3)
Requirement already satisfied: OctoPrint-FileCheck>=2024.11.12 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2025.7.23)
Requirement already satisfied: argon2-cffi>=23.1.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (23.1.0)
Requirement already satisfied: tornado<6.5,>=6.4.2 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (6.4.2)
Requirement already satisfied: cachelib<0.14,>=0.13.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.13.0)
Requirement already satisfied: PyYAML<7,>=6.0.2 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (6.0.2)
Requirement already satisfied: zeroconf<0.137,>=0.136.2 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.136.2)
Requirement already satisfied: watchdog<5,>=4.0.2 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (4.0.2)
Requirement already satisfied: Flask-Assets<3,>=2.1.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.1.0)
Requirement already satisfied: Babel<2.17,>=2.16 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.16.0)
Requirement already satisfied: filetype<2,>=1.2.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.2.0)
Requirement already satisfied: OctoPrint-FirmwareCheck>=2025.5.14 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2025.7.23)
Requirement already satisfied: future in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.18.3)
Requirement already satisfied: OctoPrint-PiSupport>=2023.10.10 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2025.7.23)
Requirement already satisfied: setuptools in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (44.1.1)
Requirement already satisfied: limits<5 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (4.2)
Requirement already satisfied: requests<3,>=2.32.3 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.32.3)
Requirement already satisfied: sarge==0.1.7.post1 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.1.7.post1)
Requirement already satisfied: packaging in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (21.3)
Requirement already satisfied: zipstream-ng<2.0.0,>=1.8.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.8.0)
Requirement already satisfied: flask<3.1,>=3.0.3 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (3.0.3)
Requirement already satisfied: emoji<3,>=2.14.1 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.14.1)
Requirement already satisfied: Flask-Babel<5,>=4.0.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (4.0.0)
Requirement already satisfied: pathvalidate<4,>=3.2.1 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (3.2.3)
Requirement already satisfied: websocket-client<1.9,>=1.8.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.8.0)
Requirement already satisfied: netaddr<1.4,>=1.3.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.3.0)
Requirement already satisfied: sentry-sdk<3,>=2.20.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.27.0)
Requirement already satisfied: pydantic<3,>=2.10.6 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.11.3)
Requirement already satisfied: wrapt<1.18,>=1.17.2 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.17.2)
Requirement already satisfied: blinker<1.9.0,>=1.8.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.8.2)
Requirement already satisfied: libpass<2,>=1.8.1 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.9.0)
Requirement already satisfied: more-itertools>=10.5.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (10.7.0)
Requirement already satisfied: regex in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2022.9.13)
Requirement already satisfied: pyserial<4,>=3.5 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (3.5)
Requirement already satisfied: pylru<2,>=1.2.1 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.2.1)
Requirement already satisfied: unidecode in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.3.6)
Requirement already satisfied: markdown<3.8,>=3.7 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (3.7)
Collecting psutil==6.0.0
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host='archive1.piwheels.org', port=443): Max retries exceeded with url: /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)')))


The update did not finish successfully. Please consult <code>octoprint.log</code> and <code>plugin_softwareupdate_console.log</code> for details.

What did you already try to solve it?

I retried the update from the GUI multiple times. ssh into the system, and ran:

sudo apt update && sudo install -y ca-certificates python-certifi

…which seemed successful.

Tried running the update again, no luck. Tried installing the single package that seemed to be erroring out:

pip install "psutil==6.0.0"
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting psutil==6.0.0
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
  WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
  WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='archive1.piwheels.org', port=443): Max retries exceeded with url: /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)')))

Looked up information about this error in the forums, most of which, the root cause seemed to be that a firewall, pi-hole, or the like, was blocking access to the package server, but to my knowledge I don't have any of those sort of things in the way.

Tried upgrading pip, and upgrade pip's certificates specifically:

$ pip install --upgrade pip
$ sudo pip install pip-system-certs

…which seemed successful, but running the update again still gives the same error.

It seems like I could use the --trusted host flag in pip to circumvent this, but I wanted to ask here and see if I was missing something, and/or figure out the core issue, before I tried to work around it.

Have you tried running in safe mode?

Yes.

Did running in safe mode solve the problem?

No, I got the same error:

Updating, please wait.

++++++++++++++++++++++++++++++++
Now updating OctoPrint to 1.11.3
++++++++++++++++++++++++++++++++
/home/pi/oprint/bin/python -m pip --disable-pip-version-check install https://github.com/OctoPrint/OctoPrint/archive/1.11.3.zip
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting https://github.com/OctoPrint/OctoPrint/archive/1.11.3.zip
Using cached https://github.com/OctoPrint/OctoPrint/archive/1.11.3.zip (7.1 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Requirement already satisfied: feedparser<7,>=6.0.11 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (6.0.11)
Requirement already satisfied: netifaces<0.12,>=0.11.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.11.0)
Requirement already satisfied: Babel<2.17,>=2.16 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.16.0)
Requirement already satisfied: pytz in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2024.1)
Requirement already satisfied: PyYAML<7,>=6.0.2 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (6.0.2)
Requirement already satisfied: websocket-client<1.9,>=1.8.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.8.0)
Requirement already satisfied: pyserial<4,>=3.5 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (3.5)
Requirement already satisfied: Flask-Limiter<3.9,>=3.8 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (3.8.0)
Requirement already satisfied: OctoPrint-FirmwareCheck>=2025.5.14 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2025.7.23)
Requirement already satisfied: packaging in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (21.3)
Requirement already satisfied: requests<3,>=2.32.3 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.32.3)
Requirement already satisfied: pydantic<3,>=2.10.6 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.11.3)
Requirement already satisfied: future in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.18.3)
Requirement already satisfied: libpass<2,>=1.8.1 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.9.0)
Requirement already satisfied: sentry-sdk<3,>=2.20.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.27.0)
Requirement already satisfied: OctoPrint-FileCheck>=2024.11.12 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2025.7.23)
Requirement already satisfied: Flask-Babel<5,>=4.0.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (4.0.0)
Requirement already satisfied: semantic_version<3,>=2.10.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (2.10.0)
Requirement already satisfied: colorlog<7,>=6.9.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (6.9.0)
Requirement already satisfied: more-itertools>=10.5.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (10.7.0)
Requirement already satisfied: unidecode in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.3.6)
Requirement already satisfied: netaddr<1.4,>=1.3.0 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (1.3.0)
Requirement already satisfied: sarge==0.1.7.post1 in /home/pi/oprint/lib/python3.9/site-packages (from OctoPrint==1.11.3) (0.1.7.post1)
Collecting psutil==6.0.0
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)'))': /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl
ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host='archive1.piwheels.org', port=443): Max retries exceeded with url: /simple/psutil/psutil-6.0.0-cp39-abi3-linux_armv7l.whl (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)')))


The update did not finish successfully. Please consult <code>octoprint.log</code> and <code>plugin_softwareupdate_console.log</code> for details.

Systeminfo Bundle

You can download this in OctoPrint's System Information dialog ... no bundle, no support!)

systeminfo.zip (130.0 KB)

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible

  • OctoPrint 1.11.1
  • Raspberry Pi 3 Model B Plus Rev 1.3
  • Printer: Prusa i3 MK3S+ MMU3
  • Browser: Safari 18.6 (20621.3.11.11.3)
  • macOS Sequoia 15.6.1 (24G90)

Sadly outside of our control, that's an issue with piwheels that has already been reported to them.

See also the announcement banner:

And also this ticket:

This has been resolved on piwheels' end.

2 Likes

Thanks, I missed that banner. Tried again after the piwheels resolution this morning, and the update went right through.

The update finished successfully and the server will now be restarted.

:tada: Thanks!

1 Like