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

Zappa部署时如何指定依赖库版本 强制使用指定numpy版本

Zappa部署强制指定numpy版本解决方案

问题根因

Zappa打包时优先读取缓存的依赖包、或是自动拉取预编译的公共依赖包,同时如果存在其他子依赖隐式引入高版本numpy,都会导致你本地指定的版本不生效。

解决步骤

  • 第一步:清理所有缓存文件
    直接删除Zappa生成的本地打包缓存和临时目录,避免旧版本依赖残留:
    rm -rf zappa_packages/ .zappa/
  • 第二步:确认本地虚拟环境依赖正确
    执行命令验证当前虚拟环境的numpy版本:
    pip show numpy
    若版本不是1.19.4,重新执行安装:
    pip uninstall -y numpy && pip install numpy==1.19.4 --only-binary :all:
    这里加--only-binary :all:是为了拉取兼容Lambda运行环境的预编译二进制包,避免部署后出现兼容性问题。
  • 第三步:锁死项目依赖版本
    打开项目根目录的requirements.txt,确保写入明确的版本约束,禁止模糊匹配:
    numpy==1.19.4
    执行pip check检查是否有其他依赖要求更高版本的numpy,若存在则给对应依赖锁死兼容1.19.4的版本号。
  • 第四步:修改Zappa配置禁用自动拉取预编译包
    打开zappa_settings.json,在你对应的部署阶段配置中新增参数:
    "use_precompiled_packages": false
    这个参数会强制Zappa使用你本地虚拟环境的依赖打包,不会拉取官方预编译的高版本依赖包。
  • 第五步:无缓存重新部署
    部署时新增--no-cache参数跳过所有缓存构建,如果是首次部署执行:
    zappa deploy <你的部署阶段名称> --no-cache
    如果是更新已存在的部署执行:
    zappa update <你的部署阶段名称> --no-cache

部署后验证

你可以在业务代码中临时加入调试逻辑,确认部署后的版本是否正确:

import numpy
print(f"当前运行numpy版本:{numpy.__version__}")

触发请求后执行zappa tail查看日志,确认版本为1.19.4后即可删除调试代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:54:02