前言
首先介绍下在本文出现的几个比较重要的概念:
函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息参考。
Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档参考。
fun install: fun install 是 fun 工具的一个子命令,用于安装 pip 和 apt 依赖,提供了命令行接口和 fun.yml 描述文件两种形式。
备注: 本文介绍的技巧需要 Fun 版本大于等于 2.9.3。
函数计算安装第三方依赖一大痛点,文章 函数计算安装依赖库方法小结 对可能会遇到的问题和解决方法做了细致总结,fun install 是基于之前的经验和成果将最佳实践的方法固化到工具中,方便用户便捷的安装依赖。
初始化
使用 fun install init
在当前目录初始化一个 fun.yml 文件。(这一步不是必须的,如果您打算手写 fun.yml 然后通过 fun install 命令批量执行 task,init 是一个好的开始。)
在函数计算项目根目录执行 fun install init
命令,选择一个 runtime。
$ fun install init
? Select runtime (Use arrow keys)
python2.7
python3
nodejs6
nodejs8
java8
php7.2
然后会在当前目录生成一个 fun.yml 文件,内容如下:
runtime: python2.7
tasks: []
安装 pip 包依赖
下面的命令安装 python 的 tensorflow 包
$ fun install --runtime python2.7 --package-type pip tensorflow
skip pulling image aliyunfc/runtime-python2.7:build-1.2.0...
Task => [UNNAMED]
=> PYTHONUSERBASE=/code/.fun/python pip install --user tensorflow
说明
--runtime
指定 runtime,如果已经初始化 fun.yml 文件, 由于 fun.yml 里声明了 runtime ,该选项可以省略。--package-type
指定安装依赖的类型,pip 和 apt 是目前的两个可选值。- tensorflow 是一个 pip 包名。