为Python函数制作依赖包
制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。若所需依赖涉及操作系统相关的依赖包,使用其他操作系统环境打包时,可能因底层依赖库的差异而出现找不到动态链接库的问题。
约束与限制
如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。
搭建EulerOS环境
推荐在EulerOS环境中制作函数依赖包,EulerOS是基于开源技术的企业级Linux操作系统软件,具备高安全性、高可扩展性、高性能等技术特性,能够满足客户IT基础设施和云计算服务等多业务场景需求。
此处推荐Huawei Cloud EulerOS,可选择以下方法搭建环境:
- 在华为云购买一台EulerOS的ECS弹性云服务器,请参见购买并登录Linux弹性云服务器。在基础配置环节选择公共镜像时,选择“Huawei Cloud EulerOS操作系统”和具体的镜像版本。
- 下载EulerOS镜像,在本地使用虚拟化软件搭建EulerOS系统的虚拟机。
制作依赖包前,请确认环境中已安装与函数运行时相匹配版本的Python。
以Python3.12安装PyMySQL依赖包为例,其他Python版本和依赖包制作过程相同。
- 执行以下命令,指定PyMySQL依赖包的安装路径为本地的/tmp/pymysql下。
pip install PyMySQL --root /tmp/pymysql
- 执行成功后,执行以下命令进入指定目录。
cd /tmp/pymysql/
- 进入子目录直到site-packages路径下(一般路径为lib/python3.12/site-packages/,若此路径下无安装的依赖文件,请使用find命令找到并进入库文件所在路径),接下来执行以下命令压缩依赖文件。
所生成的包即为最终需要的依赖包。
zip -rq pymysql.zip *

如果需要安装存放在本地的wheel安装包,可执行以下命令:
pip install piexif-1.1.0b0-py2.py3-none-any.whl --root /tmp/piexif //安装包名称以piexif-1.1.0b0-py2.py3-none-any.whl为例,请以实际安装包名称为准
相关文档
- 使用Python开发事件函数,请参见开发Python事件函数。
- 制作Python运行时的函数依赖包,可参考为Python函数制作依赖包。
- 关于函数开发的更多说明,如函数支持的运行时、函数支持的触发事件、函数工程打包规范以及如何在函数中引入动态链接库,请参见函数开发概述。