阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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:3514240

评论

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

设计一个秒杀系统

卢卡多多

秒杀 7月日更

大数据与分布式

喵叔

7月日更

模块 2. 架构设计

Geek_ywh40v

一文入门 Go 的性能分析

Rayjun

pprof Go 语言

Spark SQL和DataFrames:与外部数据源进行交互(五)

Databri_AI

sql spark

模块二作业

Geek_35a345

微信朋友圈的高性能复杂度

张文龙

#架构实战营

科学主义 -- 个人进步的杀手

俞凡

认知

云计算的革命尚未开始

大可不加冰

云计算 Cloud 基础设施即代码 Cloud Native

如何写出富含知识的代码

escray

学习 极客时间 7月日更 如何落地业务建模

微信朋友圈的高性能复杂度分析

架构0期-Bingo

福布斯解读区块链行业如何改变全球人才供给

CECBC

两个月面试5家,(美团、360、新浪网、完美世界、搜狐)已拿美团18k*16薪offer

Java 编程 程序员 架构 面试

模块二作业

SAKIN

八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘

第五周作业 - 知识星球加入星球的流程图

小夏

产品经理训练营 邱岳

丢失api-ms-win-crt-runtimel1-1-0

好孩子

心理韧性:如何让自己从逆境中走出来

石云升

学习 心理学 7月日更

【面试&个人成长】2021年过半,社招和校招的经验之谈

王知无

网络攻防学习笔记 Day77

穿过生命散发芬芳

网络攻防 7月日更

架构实战营 - 模块二作业

李东旭

「架构实战营」

模块二作业

Mr.He

架构实战营

华为数据治理及数据分类管理实践

王知无

和12岁小同志搞创客开发:检测按键状态的两件法宝

不脱发的程序猿

DIY 中断 创客开发 按键检测

白嫖一份小白到进阶网络安全学习宝典【建议收藏】

网络安全学海

面试 网络安全 信息安全 渗透测试 开发安全

【LeetCode】连续子数组的最大和Java题解

Albert

算法 LeetCode 7月日更

Vue进阶(幺伍零):Vue key应用

No Silver Bullet

Vue 7月日更 key

Data Mesh,数据网格的道与术

王知无

分享几个团队敏捷转型过程中的故事

Bruce Talk

Scrum 敏捷 Agile

17道题你能秒我?我Hbase八股文反手就甩你一脸

王知无

Vue进阶(幺肆捌):Vuex辅助函数详解

No Silver Bullet

Vue vuex 7月日更

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