写点什么

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

评论

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

windows下docker的安装与镜像的制作提交

北桥苏

Docker Docker 镜像

英特尔 x 波士顿咨询:打造嵌入式安全技术GenAI解决方案,满足企业实际需求

科技之家

最高5W奖金!百度“墨客”挑战邀请赛再启

百度安全

永远不该忘记!科技才是硬道理,手中没有剑,跟有剑不用,是两回事

加入高科技仿生人

人工智能 ChatGPT 文心一言 通义千问 科学技术

构建动态财务模型,打造商业化的全面预算管理模式

智达方通

业务场景 全面预算管理 财务模型

宝塔中极速安装的PHP如何使用AMQP连接RabbitMQ

北桥苏

RabbitMQ AMQP php-amqplib

Cloud Kernel SIG月度动态:发布ANCK 5.10、4.19新版本,ABS新增仓库构建功能

OpenAnolis小助手

开源 CVE anck 龙蜥sig Cloud Kernel

还在为项目初始化、依赖管理问题困扰?Dubbo Initializer 来了!

阿里巴巴云原生

阿里云 云原生 dubbo

全国标杆!3DCAT实时云渲染助力深圳移动5G+智慧校园建设

3DCAT实时渲染

虚拟现实 虚拟仿真 实时渲染云

如何在uni-app中使用fingerprint2实现游客设备标识

北桥苏

JavaScript 前端 uniapp fingerprint

企业移动数字化平台如何赋能企业管理升级?

BeeWorks

PHP如何通过rabbitMQ死信队列实现业务的延时/定时操作

北桥苏

php RabbitMQ

PoseiSwap:合规、隐私与支持更广泛的资产

西柚子

网络中的数据传输模式有哪些-镭速

镭速

搜索接口优化方案——幂集分词表

北桥苏

php elasticsearch thinkphp 搜索引擎;

如何实现文件共享,文件共享的设置方法

镭速

为什么企业选择局域网即时通讯软件?局域网即时通讯软件哪家好?

BeeWorks

TiDB x CAPCOM | 为在线游戏提供灵活、可靠、可扩展的数据库服务

PingCAP

做共享电动车找哪家工厂生产电动车?

共享电单车厂家

共享电动车厂家 共享电单车生产 工厂生产电动车 共享电动车找哪家工厂 本铯共享电动车厂家

设计原则 — D 依赖反转原则

Lemoon Can

依赖反转原则 设计原则 依赖反转

NFTScan: 蓝筹 NFT 跌幅严重,如何保持竞争力?

NFT Research

Electron登录注册桌面应用源码+安装文件的打包方法

北桥苏

JavaScript Electron electron实战

没关系,前端还死不了

引迈信息

Vue 前端 低代码 JNPF

Mac打不开后缀名为txt文件,显示文本编码中文不适用

互联网搬砖工作者

以PHP门面模式实现简单的邮件发送

北桥苏

php 设计模式 门面模式

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