专栏首页Tencent Serverless 官方专栏Serverless实践系列(二):为Python云函数打包依赖

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

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

方法1: 官方方案

官方方案地址: https://cloud.tencent.com/document/product/583/9702

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

  1. 获得依赖列表
  2. 安装依赖到目录
  3. 生成zip
  4. 测试

以安装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: 自行复制法

这种方法是指,我们用了某个包,可以自己下载源码并且将其复制到目录下

本文分享自微信公众号 - ServerlessCloudNative(ServerlessGo),作者:刘宇

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 马晓:Serverless SSR 在人人视频的落地探索

    人人视频之所以考虑 SSR 方案,首先是因为和百度的合作项目。基于对搜索引擎爬虫的友好度考虑,也就是 SEO 优化,页面必须尽量保持是直出,方便蜘蛛爬取;其次,...

    腾讯云serverless团队
  • Serverless SSR 技术在猎豹移动的实践

    点击领取新用户礼包-> 选择您最常用的编程语言,体验 Serverless Demo >>

    腾讯云serverless团队
  • 「Serverless 技术专栏」开发者工具建设

    由于 Serverless 平台具备弹性扩缩、免运维、按需付费等特点,越来越多的公司和个人开始使用 Serverless 承载项目。但对于开发者而言,Serv...

    腾讯云serverless团队
  • 使用 HTML5 WebSocket 构建实时 Web 应用

    作为下一代的 Web 标准,HTML5 拥有许多引人注目的新特性,如 Canvas、本地存储、多媒体编程接口、WebSocket 等等。这其中有“Web 的 T...

    前朝楚水
  • NLP自然语言处理的开发环境搭建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    村雨遥
  • TW洞见 | 邱俊涛:快速搭建IE测试环境(Virtualbox+ievms)

    IE下的测试 作为一个有追求的程序员,应该尽可能的远离Windows系统。不论从专业开发者的角度,还是仅仅作为最终用户从使用体验上来说,Windows都可以算...

    ThoughtWorks
  • 升级Xcode8之后快捷键无法注释

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • Adobe CC 2017/2018更改软件安装位置

    官方下载链接:https://ccmdls.adobe.com/AdobeProducts/KCCC/1/win32/CreativeCloudSet-Up.e...

    课代表
  • Linux系列教程(十一)——Linux软件包管理之RPM命令

      前面我们介绍了Linux系统的常用命令介绍和文本编辑器vim命令的介绍。那么从这篇博客开始,我们会正式的讲解Linux的系统管理,首先要讲的是Linux的软...

    IT可乐
  • DartVM服务器开发(第七天)--WebSocket

    可以看到我们熟悉的dart介绍,它被用于web、服务器、移动开发和物联网等领域的开发,等等,这里有一个目前比较热门的一个名词,物联网、对的,dart支持物...

    rhyme_lph

扫码关注云+社区

领取腾讯云代金券