FC 上部署的 flask,依赖了 cryptography,运行时报错:[阿里云函数计算]

FC 上部署的 flask,依赖了 cryptography,运行时报错:

{ “errorMessage”: “Unable to import module ‘index'”, “errorType”: “ImportModuleError”, “stackTrace”: [ “ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28’ not found (required by /code/cryptography/hazmat/bindings/_rust.abi3.so)” ] }

这是 runtime 的问题吗?能升级到 debian10 吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
3 条回复 A 作者 M 管理员
  1. 应该是 custom runtime 里能选到 debian10

    此答案来自钉钉群“阿里函数计算官网客户”

  2. 这个错误信息表示您的Flask应用程序中使用的cryptography库在运行时找不到它所需的glibc库。glibc库是C语言库的一部分,用于提供内存管理、文件I/O等功能。 解决方法之一是安装glibc库 sudo apt-get update sudo apt-get install libglib2.0-0 这将安装glibc库,并为您的Flask应用程序提供所需的依赖关系。 另一种解决方法是使用不同的cryptography库,例如pycryptodome库。

  3. 此错误是因为您的函数依赖的 cryptography 库需要的 GLIBC 版本高于 FC 运行环境提供的版本。

    为了解决该问题,您可以使用自定义运行环境。FC 支持自定义运行环境来满足函数运行时依赖特定的库或工具。您可以基于相应操作系统镜像,安装所需的库和工具,并打包成新的运行环境镜像,然后在函数配置中指定相应的镜像以使用自定义运行环境。

    在您的情况下,建议使用 debian10 镜像作为基础镜像,安装您的 flask 应用所需的依赖库和工具,然后将整个环境打包成新的镜像,并在函数配置中指定该镜像。

    自定义运行环境需要您具有一定的 Linux 系统管理经验,并且需要您能够熟练地使用 Docker 技术来构建和管理镜像。如果您不具备相关技术和经验,可能需要寻求专业人士的帮助。