You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

给AWS Lambda函数层添加PyJWT后仍报错:找不到jwt模块

解决AWS Lambda层添加PyJWT后仍报“no module named jwt”的问题

检查层ZIP包的目录结构

Lambda对Python层的目录结构有严格要求,库必须放在python/lib/pythonX.X/site-packages/路径下(X.X对应Lambda运行时的Python版本,比如3.9、3.10)。如果你的ZIP包直接将jwt文件夹放在根目录,Lambda无法识别到该模块。

修复步骤:

  • 在CloudShell的虚拟环境中安装PyJWT时,指定目标路径:
    pip install PyJWT -t python/lib/python3.9/site-packages/
    
    请将3.9替换为你的Lambda函数使用的Python版本。
  • 将整个python文件夹打包为ZIP文件,而非单独打包site-packages内的内容。

确保Python版本完全匹配

你在CloudShell中安装PyJWT所用的Python版本,必须与Lambda函数的运行时版本一致。例如:

  • 若Lambda运行时为Python 3.10,需在CloudShell中执行以下命令创建对应环境并安装:
    python3.10 -m venv myenv
    source myenv/bin/activate
    pip install PyJWT -t python/lib/python3.10/site-packages/
    

确认层已正确关联到Lambda函数

进入Lambda函数的配置页面,切换至「层」标签页,检查添加的PyJWT层是否已出现在列表中,且状态为「已添加」。若你更新了层的版本,需确保Lambda关联的是最新版本。

验证代码导入语句

代码中需使用import jwt进行导入,而非import PyJWT(PyJWT是包的发布名称,实际可导入的模块名为jwt)。若导入语句错误,同样会触发模块找不到的报错。

检查ZIP包内容

上传至S3前,可在CloudShell中执行以下命令验证ZIP包结构:

unzip -l your-layer.zip

输出结果中应包含python/lib/pythonX.X/site-packages/jwt这类路径,而非直接显示jwt/。

内容的提问来源于stack exchange,提问作者Marwenv1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 10:45:19