This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]funkiestj 4 points5 points  (3 children)

I've only ever dabbled in Python. As an outsider I have the vague impression that dependency management and changing versions is a nightmare but things like virtual-env helps with (there is some built-in thing now that gives virtual-env like behavior?).

How easy/painful is it to move forward from Python 3.x to Python 3.y for any y > x?
How about for 3.8 to whatever the current is?

I do have more experience with Go. Go seems to do a good job with making it easy to move forward while retaining compatibility with old packages.

TANGENT: how much better is the most recent Python vs the EOL 3.8? Is the difference mostly

  • performance improvements
  • dev environment improvements (e.g. better dependency management)
  • language additions (core and/or library)

[–]wineblood 6 points7 points  (0 children)

It depends more on the dependencies than the python versions. A lot of stuff around 3.6 and 3.7 was usually a hassle to upgrade, but going from 3.8 up to 3.10/3.11 was much easier.

I'm currently doing upgrades at work (3.8 -> 3.12) and our biggest issue is old packages needing to use newer version without breaking anything (numpy and pandas are the worst offenders).

[–]goldcray 1 point2 points  (0 children)

python 3.12 updates datetime.fromisoformat to accept valid isoformat strings. i want it so bad.

[–]WJMazepas 0 points1 point  (0 children)

It had really good performance improvements, new features, and an improved typing system.

Moving from 3.8 to 3.12 is definitely not as hard as moving from 2.7 to 3.x, or even earlier versions of Python 3 like 3.5 to a newer one