写点什么

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

评论

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

Redis 中 RDB 和 AOF 持久化有啥区别?看这儿,你就懂了

Java 程序员 后端

mysql的 int 类型,刨析返回类型为BigDicemal 类型的奇怪现象

Java 程序员 后端

mysql的timestamp会存在时区问题?,java技术专家方向

Java 程序员 后端

Netty相关面试题汇总,java并发编程电子书

Java 程序员 后端

quartz-2,linux视频教程百度云

Java 程序员 后端

RabbitMQ实现即时通讯居然如此简单!后端代码都省得写了

Java 程序员 后端

MySQL事务:ACID特性的实现原理知多少,java教学视频百度云

Java 程序员 后端

MySQL是如何恢复到某一天的某一秒的状态?,现在做Java开发有前途吗

Java 程序员 后端

Mysql中,21个写SQL的好习惯,你值得拥有呀(1)

Java 程序员 后端

Offer拿来吧你!秒杀系统?这不是必考的嘛(1)

Java 程序员 后端

OpenKruise :SidecarSet 助力 Mesh 容器热升级

Java 程序员 后端

MySQL慢查询,一口从天而降的锅!,java程序开发基础彭政答案

Java 程序员 后端

Netty编解码开发+多协议开发和应用+源码,Java开发经验谈

Java 程序员 后端

Offer拿来吧你!秒杀系统?这不是必考的嘛,kafka与rabbitmq面试题

Java 程序员 后端

Redis与MySQL数据双写一致性工程落地案例,java最新技术百度云

Java 程序员 后端

Mysql中,21个写SQL的好习惯,你值得拥有呀,jvm原理面试题

Java 程序员 后端

MySQL各种锁详情,实战分析

Java 程序员 后端

Mysql进阶三板斧(一)带你彻底搞懂View视图的原理及应用

Java 程序员 后端

Nginx架构浅析:为什么不用多线程模型管理连接与处理逻辑业务?

Java 程序员 后端

Nginx面试三连问:如何工作?负载均衡策略有哪些

Java 程序员 后端

P8大牛带你细谈架构中的限流与计数器的实现方式

Java 程序员 后端

Redis 最全性能监控指标:汇总实战,实战java虚拟机葛一鸣第二版pdf

Java 程序员 后端

MyEclipse优化、常用设置、快捷键,java视频教程百度云

Java 程序员 后端

MySQL索引原理B+树,java学习视频百度云盘

Java 程序员 后端

微信朋友圈复杂度分析

abingagl

Redis 变慢了?那你这样试试,不行就捶我,java面试问职业规划

Java 程序员 后端

MySQL 事务隔离级别,进阶和基础哪一个难

Java 程序员 后端

Mysql优化提高笔记整理,来自于一位鹅厂大佬的笔记

Java 程序员 后端

MySQL进阶三板斧(三)看清,java高级框架思维导图

Java 程序员 后端

MySQL面试题:谈谈MySQL 索引,B,java程序员面试算法宝典pdf下载

Java 程序员 后端

Oracle 常用SQL语句大全(精),java框架学习顺序

Java 程序员 后端

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