How to import Python dependencies in Serverless v1

2019-01-26 16:08发布

Language: Python Framework: Serverless v1.0

Typically I would run pip freeze > requirements.txt in the project root

How can I get these dependencies packaged into every deploy?

2条回答
萌系小妹纸
2楼-- · 2019-01-26 16:42
  1. create requirements.txt

    pip freeze > requirements.txt

  2. create a folder with all the dependencies:

    pip install -t vendored -r requirements.txt

Note that in order to use these dependencies in the code you'll need to add the following:

import os
import sys
here = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(here, "./vendored")) 

See https://stackoverflow.com/a/36944792/1111215 for another example.


UPDATE: Instead of the bullet (2) and the code above, you can now use the serverless-python-requirements plugin:

install the plugin

npm install --save serverless-python-requirements

and add the plugin to your serverless.yml

plugins:
  - serverless-python-requirements

Don't forget to make sure you have a requirements.txt file.

That's it, once sls deploy is called the plugin will package the dependencies with the code.

For a full sample take a look at the serverless-python-sample.

查看更多
Root(大扎)
3楼-- · 2019-01-26 16:57

I had similar problem, took these steps to deploy with dependencies. https://stackoverflow.com/a/41634501/2571060

查看更多
登录 后发表回答