So just went to the plugin manager and this warning popped up. I have upgraded to Python3 and so it is weird it is complaining about too newer packages? Python3-pip is the latest version for buster.
It may be the latest version that debian decided to make available via their package repository, but it definitely is not the latest version (that is currently 21.3.1). pip 18.1 was released on October 5th 2018.
The debian packages aren't relevant here either, as pip gets installed into the virtual environment (and can also be updated therein, as pointed out in the linked FAQ entry).
Yes I followed that faq. Which is why it is confusing.
pi@octopi:~ $ python3 upgrade.py
OctoPrint Upgrade to Py 3 (v2.2.1)
This script will move your existing OctoPrint configuration from Python 2 to Python 3
This script requires an internet connection and it will disrupt any ongoing print jobs.
It will install the latest version of OctoPrint and all plugins.
No configuration or other files will be overwritten
Press [enter] to continue or ctrl-c to quit
Checking system info...
Detected OctoPi version 0.17.0
Unable to parse Python version string. Please report to me the line below that has caused problems....
[]
Virtual environment is already Python 3, are you sure you need an upgrade?
If you'd rather upgrade a different virtual env, you can enter the full path here
So if I am upgraded to python3 why do I get that warning I am not running the required versions ?
Edit: And no .. upgrading pip3 from pip3 does not seem to work
pi@octopi:~ $ pip3 install pip3
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pip3
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://pypi.org/simple/pip3/
or pip
pi@octopi:~ $ pip3 install pip
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in /usr/lib/python3/dist-packages (18.1)
Oh wait. I selected advanded options and forced a cache update and now it allows me to update the spool manager plugin. Now checking for updates says it is all up to date.
OctoPi 0.18 is perfectly stable and has been since January of this year. You haven't updated your OctoPi to 0.18 however, you have migrated the Python virtual environment for OctoPrint on your OctoPi 0.17 from Python 2 to Python 3 via an upgrade script that should have installed a current pip version along side it as well, but apparently didn't. Why it didn't I cannot tell you, but maybe @Charlie_Powell can (who authored and maintains this script).
Although having said that, surely 0.17 comes with a newer version of pip than 18.1? I thought the minimum supported direct update version was from OctoPi 0.16?
It was, but that was taken from the version of pip shipped in the Python 2 venv (which gets updated during the OctoPi build).
Might make sense to include a pip update routine in the update script as that is also what runs on OctoPi builds, we never take the stuff that's deemed "latest" by Debian, it's too ancient.
So how exactly to change it now? I am on Python 3 that much is clear. But it does not allow me to update to 0.18 even from within the venv ? I don't even have python2 any more on the system so why does it still seem pinned to 0.17?
It is not possible to update in-place an OctoPi image. OctoPi is a pre-built OS image, so the only way to update that is to flash the new OS image to the SD card.
You don't need to update OctoPi - if you are using Python 3, and you keep pip & everything else up to date there's nothing else you can really gain from flashing the new image.