项目场景:
目前的状态就像是买不起服务器,只能用百度云函数平替,亲测好用!!!python语言开发云函数,使用官方的函数调用其实是不太容易,官方文档对Python的使用文档讲解的也少之又少,讲解的也比较基础,对java讲的比较详细,这就苦了我们用python的同学。
问题描述
百度智能云——函数调用;使用CFC Python开发语言创建函数的时候,官方支持的库也就如下图:
如图所示,可以支持的库很少,难以支持我们日常开发需求,这时候就需要我们的zip打包,将需要使用的包直接zip打包起来,上传zip函数包,这样就可以使用很多其他的包,当然还是要遵守官方的规定(CFC支持的是Python3.6版本)
注意:在版本这里我吃了个大亏,python3.6版本其实是不支持from lxml import etree;etree这个模块在3.6版本就已经差不多绝迹了,所以大家要是不遵守官方Python版本会吃大亏!
解决方案:
为了能使用更多的包函数,zip打包使用如下(适用于serverless云函数、baiduyun云函数):
首先打开pycharm的终端:
打包命令:
第一步 # 利用pipreqs分析Python所需的包 :
pip3 install pipreqs
第二步(python程序根目录会生成 requirements.txt ) # pipreqs分析依赖 :
pipreqs . --encoding=utf8 --force
第三步:安装所需的库到程序目录 # 安装所需的库到程序目录
pip3 install -r requirements.txt -t .
第四步:打包为zip压缩包 需要在python程序目录下执行
zip -r serverless.zip ./*
注意:此zip打包与大家平时使用的zip打包存在着根本性的不同,大家不要直接拿压缩软件打包,这样是万万不可的,使用也是无效的。