rackerlabs / lambda-uploader

Helps package and upload Python lambda functions to AWS
Apache License 2.0
270 stars 56 forks source link

Packager assumes Python2.7 #142

Closed jarosser06 closed 6 years ago

jarosser06 commented 7 years ago

Right now the Packaging method looks for python2.7 in the virtualenv site packages. Since AWS Lambda now supports Python 3 we should update the code so Python3 Lambda Packages can be created as well.

nephlm commented 7 years ago

This bit me yesterday.

Runtime was set Python3.6 and it worked fine for several releases since many packages can be imported by python2 or 3, then I added a couple that had issues. I assumed I was building using python3, but I had just been getting lucky.

Changing the .json runtime to Python2.7 or hacking the hardcoded site-packages locations to point to 3.6 fixed the problems. I tried specifying --no-virtualenv or --virtualev=/path/python3/virtualenv which I thought would fix the issue, but had no luck. I wasn't very methodical about that, so I might not have had everything set up properly.

Now that lambda supports two python runtimes, should the packaging step indicate to the user which it is building for?