Serverless实践系列(二):为Python云函数打包依赖

在使用无服务器云函数SCF时通常会遇到导入第三方库的问题,很多小伙伴比较头疼是:应该如何打包进去?这里,推荐几个不错的方法。

方法1: 官方方案

官方方案地址:https://cloud.tencent.com/document/product/583/9702

在这个方案中,基本上有以下几个步骤:

  1. 获得依赖列表

  2. 安装依赖到目录

  3. 生成zip

  4. 测试

以安装Pillow为例: 安装pipreqs,可以使用pip install pipreqs,这个是一个可以获取本文项目中依赖的工具

Serverless实践系列(二):为Python云函数打包依赖_第1张图片

建立文件夹,并且建立测试文件:

640?wx_fmt=png

文件内容:

 
   

获得需要依赖,生成文件:

Serverless实践系列(二):为Python云函数打包依赖_第2张图片

文件内容:

640?wx_fmt=png

安装requirements:

 
   

Serverless实践系列(二):为Python云函数打包依赖_第3张图片

查看结果与本地测试:

640?wx_fmt=png

压缩文档:

Serverless实践系列(二):为Python云函数打包依赖_第4张图片

云函数中测试:

Serverless实践系列(二):为Python云函数打包依赖_第5张图片

提示错误:

640?wx_fmt=png

按照云函数要求写main_handler:

Serverless实践系列(二):为Python云函数打包依赖_第6张图片

Serverless实践系列(二):为Python云函数打包依赖_第7张图片

至此,通过官方提供的方法安装完成!

方法2: Pycharm快速安装

首先,新建项目pillowtest,这里要选择virtualenv

Serverless实践系列(二):为Python云函数打包依赖_第8张图片

然后,建立文件index.py:

Serverless实践系列(二):为Python云函数打包依赖_第9张图片

安装Pillow:

Serverless实践系列(二):为Python云函数打包依赖_第10张图片

Serverless实践系列(二):为Python云函数打包依赖_第11张图片

安装完成之后,可以看到:

Serverless实践系列(二):为Python云函数打包依赖_第12张图片

此时我们将安装过来的文档移动到pillowtest的目录下,然后将非venv目录进行压缩:

Serverless实践系列(二):为Python云函数打包依赖_第13张图片

Serverless实践系列(二):为Python云函数打包依赖_第14张图片

此时,我们将结果上传到云函数,并适当修改index.py:

Serverless实践系列(二):为Python云函数打包依赖_第15张图片

Serverless实践系列(二):为Python云函数打包依赖_第16张图片

方法3: 自行复制法

这种方法是指,我们用了某个包,可以自己下载源码并且将其复制到目录下,具体方法可以参考上一篇实战:

Serverless实践系列(一):如何通过SCF与自然语言处理为网站赋能

感兴趣的同学可以点击阅读原文,通过SCF进行部署实践~

【Serverless实践系列】是腾讯云Serverless团队策划的SCF场景落地系列案例指导,旨在帮忙开发者了解SCF可应用的场景及其实现方式。同时,我们也欢迎大家分享、反馈SCF相关技术实践、产品体验问题及建议等,一经选用,即有精美礼品送,欢迎大家积极投稿~

【投稿邮箱】[email protected]

640?wx_fmt=png

你可能感兴趣的:(Serverless实践系列(二):为Python云函数打包依赖)