使用无服务器框架v1.0.0,我在服务根目录中有一个“ requirements.txt”,其内容为相关python软件包的列表。(例如请求)。
但是我得到的部署功能失败了,因为似乎这些依赖关系没有作为包装的一部分安装
'无法导入模块'处理程序':没有名为请求的模块'
我假设pip可以安装在无服务器上,但是我生成的zip文件很小,很明显它没有这样做,无论是设计还是我的错,因为我缺少某些东西?是因为它的Lambda能够做到这一点吗?如果是这样,我想念什么?)
是否有关于执行此操作所需的文件以及其工作方式的文档?pip安装这些文件是无服务器的还是在AWS Lambda方面?
您需要安装serverless-python-requirements和泊坞窗
$ npm install serverless-python-requirements
然后将以下内容添加到您的 serverless.yml
plugins:
- serverless-python-requirements
custom:
pythonRequirements:
dockerizePip: non-linux
确保在CLI中激活了python虚拟环境:
$ source venv/bin/activate
使用pip安装任何依赖项-请注意,在CLI中,您可以通过venv终端文本左侧的来判断venv是否处于活动状态
(venv) $ pip install <NAME>
(venv) $ pip freeze > requirements.txt
确保已打开docker,然后照常部署无服务器
$ serverless deploy
将会发生的事情是,serverless-python-requirements将使用lambda环境在docker中构建python软件包,然后将其压缩以准备好与其余代码一起上传。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。