写点什么

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

  • 2019-08-16
  • 本文字数:764 字

    阅读完需:约 3 分钟

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

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

方法 1: 官方方案

官方方案地址:


https://cloud.tencent.com/document/product/583/9702


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


  • 获得依赖列表

  • 安装依赖到目录

  • 生成 zip

  • 测试


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



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



文件内容:


import PIL
复制代码


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



文件内容:



安装 requirements:


sudo pip3 install -r requirements.txt -t /home/dfounderliu/code/pillowtest
复制代码



查看结果与本地测试:



压缩文档:



云函数中测试:



提示错误:



按照云函数要求写 main_handler:



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

方法 2: Pycharm 快速安装

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



然后,建立文件index.py



安装 Pillow:




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



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




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



方法 3: 自行复制法

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


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


作者介绍:


刘宇,腾讯云 Serverless 团队后台研发工程师。毕业于浙江大学,先后参与腾讯云云函数产品研发、自动扩缩容、CLI 等模块建设以及社区相关工作。本文转载自微信公众号 ServerlessCloudNative(ID:ServerlessGo)


相关文章:


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


《Serverless 实践系列(三):突破传统 OJ 瓶颈,“判题姬”接入云函数》


《Serverless 实践系列(四):网站监控脚本的实现》


2019-08-16 15:3514244

评论

发布
暂无评论
发现更多内容

Crash 游戏是公平的吗?

飞亚科技

对于数据,科技小白提出了灵魂三问:从哪儿来?到哪儿去?能干什么?

华为云开发者联盟

人工智能 安全 数据 数据采集 网络人工智能

有了这个框架,平台开发谁还手敲代码?

华为云开发者联盟

华为云 智慧园区 MainPortal 统一门户 HDC2021

人生苦短,我用Python之小游戏

Bob

开发者 Python 游戏编程 4月日更 -python

nsqlookupd:高性能消息中间件 NSQ 解析

华为云开发者联盟

集群 消息中间件 nsq nsqlookupd

模块一课后作业

王瑞强

架构实战营

架构实战营模块一作业

sandy

书单|互联网企业面试案头书之运营篇

博文视点Broadview

1小时800箱,动力机器人真·搬砖16小时不续航;苹果官宣 WWDC 全球开发者大会召开时间;基于图神经网络的分级相关性匹配

京东科技开发者

人工智能 AI 开发者

【LeetCode】搜索旋转排序数组 IIJava题解

Albert

算法 LeetCode 4月日更

BBK智能合约系统开发|BBK智能合约APP软件开发

系统开发

拍乐云 x 扬帆出海 x LiveCloud:音视频出海专家干货分享

拍乐云Pano

flutter ios android WebRTC RTC

白金熊项目奖金制度玩法介绍

飞亚科技

小白都能学会的Java注解与反射机制

陈皮的JavaLib

Java 注解 java反射

平面设计之PS(前序)

空城机

PhotoShop ps 4月日更

7 个非常实用的 Shell 拿来就用脚本实例!

JackTian

Linux 编程 Shell 脚本语言 运维工程师

猪肉价格跌至去年最低水平 区块链养猪成热点

CECBC

农业

让云原生应用的交付变得更简单 | KubeVela v1.0 正式发布

郭旭东

Kubernetes 云原生 OAM KubeVela

区块链BaaS平台的搭建,底层BaaS服务平台的开发

13828808769

行业资讯 产品资讯

面试笔记(二)线程池连环炮

U2647

Thread 4月日更

提升漏洞修复率,DevSecOps真的很有一套

华为云开发者联盟

软件 安全 DevSecOps 漏洞修复 软件漏洞

Nginx 除了负载均衡,还能干点啥

Java小咖秀

nginx 负载均衡

情指勤一体化指挥调度平台建设,重点人员管理平台

Rust从0到1-结构体-定义和实例化

rust struct 结构体

区块链让版权与创作如影随形 应用深度逐渐加强

CECBC

产权保护

区块链商品溯源平台搭建及防伪溯源解决方案

13828808769

商品溯源

MUSO挖矿系统开发

飞亚科技

这6个浏览器插件,让你的浏览器大为不同。

彭宏豪95

chrome 浏览器 插件 chrome扩展 4月日更

区块链系统的层级架构如何及在供应链中的应用

CECBC

区块链

openresty源码编译

上海派拉基础研发

nginx openresty

牛比特小矿工系统开发|牛比特小矿工软件APP开发

系统开发

Serverless实践系列(二):为Python云函数打包依赖_语言 & 开发_刘宇_InfoQ精选文章