-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support conda environments #94
Conversation
Hi @mathieu1! Thanks for this PR, this is an interesting idea! There are a few issues here that I'd like to address before I can merge this in. Firstly - I simply don't quite understand the point of supporting Conda here. I'm sure that I could be convinced if it was explained to me, but I literally don't understand why this is beneficial. Secondly - should this be accompanied with a similar PR to the lambda-packages project? Do I also need to create an account somewhere and publish Zappa to a Conda repository? Thirdly - Since this is a new feature, it will need a test in order to be merged, as well as any associated documentation. (Also, since this will likely have a few more commits and discussion associated with it, please submit this pull request to the 'dev' branch rather than master.) Thanks! |
Thanks for the feedback! I will open soon an updated pull request targeted at the
|
+1 |
Continued in #108 |
This is a proposition to support conda, which is a superset of virtualenv but which also deals with the difficulties of binary dependencies. This would provide an alternative to the self-maintained lambda-packages. Zappa would benefit from the large collection of community-contibuted and/or enterprise-backed conda packages with no overhead. AWS lambda-specific packages could also be contributed back to the conda community, should this be necessary.
To see conda in action:
conda
(either through pip, orusing the bootstrap Miniconda installer), making sureconda
is on your path.environment.yml
file with the following content:conda env create
source activate zappa_dev_env
zappa deploy dev
Currently, this should only be used by novice conda users in a linux-64bit architecture (as warned by the checks in the code). There are various ways to extend this to all architectures, although there will always be limitations to doing so as dependencies are sometimes platform-specific.
Further improvements could include:
conda
withzappa
lambda-packages
).zappa
and put it onconda-forge
/opt/anaconda1anaconda2anaconda3
)and more (to be completed), such as the weirder...
python 3
orR
to AWS lambda using conda is feasible