Lambda now support Python 3.6 #16
Comments
Just an update, currently it doesn't work with 3.6:
I'm not sure if you have plan on supporting both, if not, should I close this? :) |
@zkanda as you've noticed THE change from Python 2 to 3 is the definition of a module in C. We will update the package asap to support Python 3. |
Can't wait for Python 3 shim support... |
We have to produce 2 different binaries to support both Python 2 and 3. This comes with some friction because we have to provide a packaging process that allows the end user to choose between the two versions. That's why we haven't yet released a version which supports Python 3. We are wondering:
The question is open, and it would be great if you guys can express your opinion about. |
Isn't python wheels already supporting both targets at the same time. Try wheels on Traces CI. |
@heri16 it is not related to the python packaging process but the shim packaging process to produce the final Lambda zip package. |
Sorry, I just realized I don't quite understand which binaries you mean. If you mean the docker image, the different versions is normally achieved via docker image tags. Look at docker php 7. |
Yeah I agree with you for docker tags and this is one of the possible solution to provide both binaries. But as I tried to explain above, this will come with some friction for end users as historically users integrated this project by using the |
Good question. Python 2.7 is no longer being developed but we could forsee AWS supporting it for sometime to come. Not sure what is the cold start up performance of the new aws python engine also, since python 3.5+ is mainly adding better integration of async and coroutines for performance reasons. Could you point me to information on how this shim works again between the python side and the golang side so I can look into this? |
For the Python 2 support by AWS, we can imagine migrating to Python 3 as soon as AWS abandons Python 2. |
Regardless, https://github.com/lambci/docker-lambda uses tags to differentiate between python 3.6 and python 2.7. We might want to maintain 2 branches so contributors could work on optimizing the python 3 version with python 3 features. I don't think migrated code from python 2.7 would perform any better. |
The point is that this project does not use any particular python specific feature. This is why I tend to advocate on not migrating to Python 3.6.
I totally agree with you. Even more when seeing the benchmark you've posted. The difference in method calls is nearly null and Python 2.7 performs better for JSON dumps (which are a critical part in the shim). These information shows that we should not migrate to Python 3.6 unless the whole AWS Python 3.6 runtime performs really better than the the Python 2.7 one. |
I will close this issue for the moment, until someone comes with a big argument in favor of Python 3.6 in the context of this shim. |
Hi,
I will try it today, but just to track it, lambda now supports python 3.6.
Cheers!
Edit: Release notes - https://aws.amazon.com/releasenotes/5198208415517126
The text was updated successfully, but these errors were encountered: