查看阿里云官方文档
官方的流程大致是:
fun install init
编写FunFile文件
fun install
按照这个流程我的项目出现了很多错误,依次解决:
报错原因:它的意思是找不到我的云函数的index方法,但事实上我的云函数下是有index方法的,官方template.yml中codeUri为:"./",但是我的项目这样设置就会报No module named "index"错
二、执行fun install报错:当前目录不是fun工作目录解决办法:将codeUri直接写到云函数的子目录下,例如我的文件目录是:(xxxservice是服务,xxxFunc是服务下的云函数)
那么我的template.yml中配置为:(重点看codeUri的配置)
报错原因:fun install方法需要在template.yml的同级目录执行,我的项目中,template.yml在服务目录下(和云函数同级)。如果在该目录下执行fun install,按照我上一步的设置,会报错fun 在CodeUri中没有定义类似的错误。
三、安装依赖后在项目中引入仍然报错:No module named xxx解决办法:命令行切换到云函数目录下(和index同级),依次执行:
fun install init:目的是生成FunFile文件,方便后面直接安装依赖
fun install --runtime xxx --package-type xxxxxx,具体意思见阿里云官方文档,例如我的项目是python3运行环境,如果我要安装pillow依赖,则使用fun install --runtime python3 --package-type pip pillow --save,加上--save的目的是将该次安装过程保存到Funfile中,可以打开Funfile看到其中多了条RUN fun-install pip install pillow
注意:这一步不是第二步之后出现的错误
报错原因:fun install 的位置不正确,最后出现的.fun在根目录就会出现这个错误
解决办法:和第二步中解决办法一致



