问题
For example, I would like to use scikit-learn for machine learning, and pandas, numpy, and matplotlib/seaborn for data analysis. Does AWS Lambda support all these libraries? Is there a list of libraries supported? Or should I create a virtual server instead, to ensure I can use any Python library I want?
回答1:
Those modules are not available by default. I found this (older) list of available modules, along with code to generate a current report of what is available, should you wish to do so:
https://gist.github.com/sjehutch/36493ff674b1b9a16fc44a5fc270760c
You can build your own environment using a virtualenv and upload that to Lambda. It can contain anything you want. See here for more info:
https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
So you can still use AWS Lambda, and should not require a virtual server.
回答2:
I've built a small library called juniper to automate the packaging of code for AWS lambda functions.
All you need to do to use juniper is create a small manifest.yml
file that looks like:
functions:
# Name the zip file you want juni to create
router:
# Where are your dependencies located?
requirements: ./src/requirements.txt.
# Your source code.
include:
- ./src/lambda_function.py
As long as you have your dependencies in the requirements.txt, juniper will package them for you. There are a few examples in our code base that showcase the features of juniper.
来源:https://stackoverflow.com/questions/53268546/does-amazon-web-services-aws-lambda-support-all-python-libraries