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

AWS Amplify后端构建报错:invalid command 'egg_info'求助

AWS Amplify后端构建「invalid command 'egg_info'」错误排查与解决

问题背景

此前部署正常,仅进行UI修改后触发AWS Amplify后端构建错误,报错信息为「invalid command 'egg_info'」,已尝试更新Lambda函数目录下Pipfile中的setuptools至最新版本。

相关构建日志

2023-06-29T00:41:53.568Z [WARNING]: created virtual environment CPython3.8.0.final.0-64 in 734ms
                                    creator CPython3Posix(dest=/root/.local/share/virtualenvs/lambdafunction-TMn4ayDM, clear=False, no_vcs_ignore=False, global=False)
                                    seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
                                    added seed packages: pip==23.1.2, setuptools==67.8.0, wheel==0.40.0
                                    activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
2023-06-29T00:41:53.574Z [WARNING]: ✔ Successfully created virtual environment!
2023-06-29T00:41:53.604Z [WARNING]: Virtualenv location: /root/.local/share/virtualenvs/lambdafunction-tyBXm4FQ
2023-06-29T00:31:41.678Z [INFO]: Installing dependencies from Pipfile.lock (3a12ae)...
2023-06-29T00:31:41.712Z [WARNING]: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
                                    or: setup.py --help [cmd1 cmd2 ...]
                                    or: setup.py --help-commands
                                    or: setup.py cmd --help
                                    error: invalid command 'egg_info'
2023-06-29T00:31:41.811Z [WARNING]: ✖ There was an error initializing your environment.
2023-06-29T00:31:41.812Z [INFO]: 🛑 Command failed with exit code 1: pipenv install

当前amplify.yml后端配置

backend:
  phases:
    preBuild:
      commands:
        - ln -fs /usr/local/bin/pip3.8 /usr/bin/pip3
        - ln -fs /usr/local/bin/python3.8 /usr/bin/python3
        - python3 -m pip install --upgrade pip
        - python3 -m pip install --upgrade setuptools wheel
        - python3 -m pip install --upgrade pipenv
    build:
      commands:
        - amplifyPush --simple

解决方案

  • 锁定虚拟环境内的setuptools版本
    全局升级setuptools后,Pipenv创建虚拟环境时仍可能使用不兼容的版本。在Lambda函数目录的Pipfile中明确指定与日志中虚拟环境初始化时一致的setuptools版本:

    [packages]
    # 保留原有依赖,新增以下行
    setuptools = "==67.8.0"
    

    执行命令重新生成锁定文件并提交:

    pipenv lock
    git add Pipfile Pipfile.lock
    git commit -m "Lock setuptools version"
    
  • 在preBuild阶段强制升级虚拟环境内的setuptools
    修改amplify.yml,在构建前提前进入Lambda函数目录,创建虚拟环境并强制升级setuptools:

    backend:
      phases:
        preBuild:
          commands:
            - ln -fs /usr/local/bin/pip3.8 /usr/bin/pip3
            - ln -fs /usr/local/bin/python3.8 /usr/bin/python3
            - python3 -m pip install --upgrade pip
            - python3 -m pip install --upgrade setuptools wheel
            - python3 -m pip install --upgrade pipenv
            # 新增:进入Lambda函数目录并升级虚拟环境内的setuptools
            - cd ./amplify/backend/function/YourLambdaFunctionName # 替换为你的Lambda函数路径
            - pipenv install --skip-lock
            - pipenv run pip install --upgrade setuptools==67.8.0
        build:
          commands:
            - amplifyPush --simple
    
  • 排查损坏的第三方依赖
    部分第三方依赖的setup.py可能与新版setuptools不兼容。逐个移除Pipfile中的非核心依赖,重新触发构建,定位出问题依赖后更换为兼容版本。

  • 清理Amplify构建缓存
    旧缓存可能残留冲突依赖。进入AWS Amplify控制台的构建页面,点击「Redeploy this version」并勾选「Clear cache」,重新执行构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:54:54