Since the Python install manager became available, some developers have started using it instead of Miniforge or other Python environment managers. However, I'm not sure what the recommended way is to keep installed Python patch versions current. For example, the manager may install Python 3.13.7 even though 3.13.15 is available, leaving older OpenSSL libraries in place and potentially exposing systems to known vulnerabilities. What is the best way to update existing Python installations without having to reinstall everything manually?
2 Answers
Use the install manager’s update option, such as `py install --update` or `pymanager install --update`, depending on the version and command name available on your system. With no version specified, it checks all managed Python installations and replaces them when a newer patch release exists. Keep in mind that this can remove changes made directly to an installation, including globally installed packages, although existing virtual environments should continue working.
Another option is `uv`. You can specify the Python version in your project configuration or on the command line, and it handles downloading and selecting the appropriate interpreter. This also keeps the Python version requirement tied to the project instead of relying on one globally managed installation.

I missed that command initially. It updates the interpreter itself, although one of my Python 3.12 installations still includes an older OpenSSL version.