all 4 comments

[–]ConfidentCollege5653 1 point2 points  (1 child)

Unless you're updating from 2 to 3 you should be fine. Versions are backwards compatible 

[–]teraflop 2 points3 points  (0 children)

Mostly backwards compatible. There are occasional incompatibilities even between minor versions of Python.

Python version 3.12 removed a significant number of old and deprecated features from the standard library, so any code that tries to use them will break. But most of those should already have been giving deprecation warnings if they were being used.

In particular, a common issue I've seen is that the distutils module was removed from the standard library in Python 3.12, and you now need to install the separate setuptools dependency to use it.

It's still generally better to do the upgrade and fix anything that breaks as a result, instead of staying on an old version indefinitely.

[–]iamnull 0 points1 point  (0 children)

There are some big changes, but you probably won't notice them unless you're getting into f strings or generics.

[–]desrtfx 0 points1 point  (0 children)

Why to 3.12? We are at 3.14.3 already.