Conversation
|
Ok, the discussion can start. Here's the current status:
To start the discussion, here are a few questions/issues:
|
|
This is really cool progress! Sorry I haven't been very responsive on this thread. |
| exclude=self.zappa_settings[self.api_stage].get('exclude', []) | ||
| exclude=self.zappa_settings[self.api_stage].get('exclude', []), | ||
| exclude_conda_packages = self.zappa_settings[self.api_stage].get('exclude_conda_packages', | ||
| ['pip','python','readline','sqlite','wheel', 'boto3', 'botocore']) |
There was a problem hiding this comment.
I believe openssl and tk (among other things) are included with miniconda as well. You probably won't want them in your lambda function either.
|
As far as testing goes I'd recommend mocking and building out units vs trying to figure out how to make some AWS deployment for it. Edit: testing packaging/unpackaging locally would probably be a good idea too. |
|
It might be useful to warn the end user if there are large packages in their conda environment, too. The limits can be found here: http://docs.aws.amazon.com/lambda/latest/dg/limits.html . Note that there's a compressed as well as an uncompressed limitation. |
|
Tried out the dev branch and did some tinkering. Could not get conda support to work for me. I'm going to stick with elastic beanstalk for now. Definitely, be back in the future when I have more time. |
|
hello @mathieu1, |
4047089 to
2707025
Compare
|
Hey everyone. I'm the lead developer on the conda project right now. Just wanted to chime in and say I think this is awesome. I'll try to spend more time with this in the coming days. If there are any specific questions or things you are stuck on, please ask! Tagging @msarahan here too, who's the tech lead of the conda-build project. |
|
Cool! Hey @kalefranz and @msarahan ! Thanks for stopping by, I would love to have your support on this awesome but neglected PR. Please also feel free to stop by the Slack channel for discussion: https://slack.zappa.io/ |
|
+1 here. I think the conda support for Zappa is going to be critical for those of us who want to deploy existing applications which rely on scientific computing libraries (numpy, tensorflow et al) which are already running in these environments. It's impossible to move them to a virtuaenv format given conda ships with platform compliant versions of the lower level C libraries that speed up their python wrappers. |
|
Zappa does support hundreds of those libraries already, however conda support would certainly improve that number. See more here: https://blog.zappa.io/posts/zappa-adds-support-for-manylinux-wheels |
|
+1 |
|
+1 for conda support! |
| print("Zappa requires an active virtual or conda environment.") | ||
| quit() | ||
|
|
||
| if conda_mode: |
There was a problem hiding this comment.
Except for the precompiled_packages warning, why does this matter if its conda_mode or not?
There was a problem hiding this comment.
It changes the way packaging works. In the standard virtualenv mode, zappa takes the site-packages folder of the virtualenv and possibly replaces some binaries using lambda-packages. In conda_mode zappa does a few things:
- Create a temporary copy of the conda environment for the following manipulations
- Remove excluded conda packages (like python itself)
- Move the
site-packagesfolder to the root of the conda environment - Zip up this moved
site-packagesalong with all other remaining binaries in the conda environment.
| conda_mode = False | ||
| if 'VIRTUAL_ENV' in os.environ: | ||
| venv = os.environ['VIRTUAL_ENV'] | ||
| elif 'CONDA_ENV_PATH' in os.environ: |
There was a problem hiding this comment.
may want to check both CONDA_ENV_PATH and CONDA_PREFIX while people have various versions of conda installed.
There was a problem hiding this comment.
Thanks, this is fixed.
|
+1 from me too. @Miserlou What needs to be done here to merge? Get the coverage to 100%? |
35618b0 to
fd85cca
Compare
|
+1 for Conda support |
|
+1 Conda Support |
|
+1 |
|
Would love to see these merge conflicts resolved... |
|
+1 for conda support |
1 similar comment
|
+1 for conda support |
|
+1 conda support |
|
+1 for conda support |
|
+1 conda support please |
|
+1 conda support |
1 similar comment
|
+1 conda support |
|
+1 conda support |
3 similar comments
|
+1 conda support |
|
+1 conda support |
|
+1 conda support |
|
Please conda support |
TheFenrisLycaon
left a comment
There was a problem hiding this comment.
Seems okay to me. +1 for conda support !
|
+1 |
|
+1 for conda support |
|
Using |
|
+1 for conda support |
|
+100 conda support |
|
+1 conda support |
|
I noticed there are recent comments on this PR. I'm not sure what "conda support" would require from zappa, but I've reopend the related issue here: If anyone is interested enough to rebase the required changes in this PR against the |
This is a reboot of #94 targetting the
devbranch. Still WIP, discussion can start after some documentation is provided.