5 ms·
Question from a beginner: I'm deploying a python project to aws (beanstalk + lambda, among others), and I've noticed I can only use python versions 3.9 and 3.8.
by gverrilla 4y ago
Question from a beginner: I'm deploying a python project to aws (beanstalk + lambda, among others), and I've noticed I can only use python versions 3.9 and 3.8. Why is that? Is 3.10 not considered stable?
- roflyear 4y agoI don't know why it is, but 3.10 and 3.11 are considered stable (and I would suggest you use 3.11 if you can).
- modo_ 4y agoI was just looking into this earlier. A lot of major packages have explicitly stated 3.11 readiness, but we're still only at 45% of the top 360 packages. That's not to say the remaining 55% are broken on 3.11, just tread with caution. For comparison, 71% explicitly support 3.10. https://pyreadiness.org/3.11/ https://pyreadiness.org/3.11/
- roflyear 4y agoIt's a good point, but doesn't imply 3.11 is not stable. But could be an answer as to why Amazon doesn't support it.
- bart_spoon 4y agoI would not use 3.11 yet. I’ve had lots of issues with packages not supporting it and other headaches that still need to be ironed out. I’ve had no issues with 3.10.
- roflyear 4y agoWell yes you have to make sure all your requirements support it. 3.11 is stable tho.
- __s 4y agoCloud providers tend to be pretty slow to provide up to date software versions, I wouldn't rely on them to signal what versions are stable I'm personally watching https://learn.microsoft.com/en-us/answers/questions/1191155/redis-7-0-support-in-azure https://learn.microsoft.com/en-us/answers/questions/1191155/... because Sidekiq 7 requires at least Redis 6.2, but Azure Cache decided only major version upgrades matter This should give you a better idea of Python version status: https://devguide.python.org/versions https://devguide.python.org/versions
- b33j0r 4y agoIt’s that a lot of the libraries take a while to catch up. 3.10 is pretty good to use lately with PyTorch and numpy, which I mention because they are usually the main stragglers I have to track. They are both compiled with your friendly local architecture’s stack. Pydantic and FastAPI almost fell over because of changes to annotation handling, but woosh. That drama was forestalled. I think the python 3.3+ series has confused a lot of people because major version improvements have been crammed into the process. Guido, if you’re reading, we should have just gone to 4 when we changed so many things. I get why we were hesitant of versioning after the str/unicode upgrade broke everyone, but like… There are versions of 3 that we had to almost immediately deprecate. The javascript community is probably laughing at us.
- nomel 4y agoAs is, it appears to mostly be: major version = backwards compatibly break minor version = forward compatible break I think this is how it has always been, in general. I've seen many new people very confused by python 3 code not running with "python3". The very embarrassing answer is "You can't really know what the minimum python version unless it's documented, or you scan it with an external tool". Is there a reasonable alternative? Pip upgradable transpiler?
- Kwpolska 3y agoCode that works in 3.6 but not in 3.5 is fine within typical compatibility definitions. That said, Python nowadays deprecates things quite often (especially things in the standard library), so if Python wanted to adopt a “major = incompatible” scheme, it would probably go up to Python 10 or so.
- atwebb 4y agoLambda support was added this month: https://aws.amazon.com/about-aws/whats-new/2023/04/aws-lambda-python-3-10/ https://aws.amazon.com/about-aws/whats-new/2023/04/aws-lambd...