写点什么

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

评论

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

助力企业降本增效:华为云ECS,助力企业数字化转型需求

IT科技苏辞

华为云全球加速GA,为企业跨国办公保驾护航

与时俱进的时代

华为云智能云接入ICA,企业数据上云的信赖之选

与时俱进的时代

华为云弹性负载均衡ELB,如何保障服务器不瘫痪?

爱科技的水月

我凭借这份pdf,最终拿到了阿里,腾讯,京东等八家大厂offer

钟奕礼

程序员 Java 面试 Java、 java 编程

5分钟搞懂BFF

俞凡

架构 BFF

运维训练营第十课作业

好吃不贵

数字经济时代,为什么华为云ECS能获得更多用户的青睐?

IT科技苏辞

2022年度总结:虽迷茫,仍前行

年度总结

华为云智能云接入ICA,助力企业轻松上云

与时俱进的时代

回顾与展望Zebec举办的“Web3.0 TechHive Summit 2022 大会”

BlockChain先知

8年java技术岗面试官总结:2022超强面试大全,抓住2022的小尾巴

钟奕礼

程序员 Java 面试 Java、 java 编程

Android程序签名打包

芯动大师

Android Studio 打包签名 签名的含义

【web 开发基础】PHP中的类和对象(55)

迷彩

面向对象 封装、继承、多态 类与对象 PHP基础

如何准备Java技术岗春招面试:史上最全Java核心知识点笔记奉上

钟奕礼

程序员 Java 面试 Java、 java 编程

PostgreSQL 技术内幕(四)执行引擎之Portal

酷克数据HashData

postgresql

开启全新身份!华为阅读畅读会员震撼来袭,限时首月9元快来领取

最新动态

华为云ECS弹性服务器,加快企业数字化转型的进程!

IT科技苏辞

实力是最好的武器!华为云ECS助力企业更好发展

IT科技苏辞

【web 开发基础】如何调换数组中的键和值(53)

迷彩

数组合并 数组操作 PHP基础 数组整理

java程序员:拜托别再问我Spring原理了!你问的这篇文章都有

钟奕礼

程序员 Java 面试 Java、 java 编程

BAT大厂java程序员面试必问:JVM+Spring+分布式+tomcat+MyBatis

钟奕礼

程序员 Java 面试 Java、 java 编程

笑对过往、活在当下、期盼未来

阿Q说代码

程序员 flag 年度总结

【web 开发基础】PHP8中数组的序列化和反序列化(54)

迷彩

数组 对象 序列化 反序列化 PHP基础

2022年中国数字文化娱乐产业综合分析

易观分析

产业 文娱

无需企业搭建基础设施,华为云弹性公网IP经济实惠又便捷!

与时俱进的时代

支持故障自动秒级检测,华为云VPN更省心!

IT科技苏辞

共创、共享、共赢云生态,华为云ECS助力企业轻松上云

IT科技苏辞

出海有“云”!华为云全球加速助力跨国企业提升网络体验

与时俱进的时代

史上最全JVM大全详解!java程序员细节到极致的一次,魔鬼

钟奕礼

程序员 Java 面试 Java、 java 编程

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