【问题标题】:Error when Trying to Deploy Flask App to AWS Elastic Beanstalk尝试将 Flask 应用程序部署到 AWS Elastic Beanstalk 时出错
【发布时间】:2025-11-23 10:50:02
【问题描述】:

我正在尝试使用 AWS Elastic Beanstalk 部署 Flask 应用程序,但不幸的是遇到了以下错误。让我感到困惑的是,我的虚拟环境和本地机器中当前的 pip 版本是 9.0.1,所以我不确定为什么它会选择 7.1.2。

Command "/opt/python/run/venv/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-L32BGc/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nO55i_-record/install-record.txt --single-version-externally-managed --compile --install-headers /opt/python/run/venv/include/site/python2.7/cffi" failed with error code 1 in /tmp/pip-build-L32BGc/cffi
  You are using pip version 7.1.2, however version 9.0.1 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  2017-01-29 15:42:34,743 ERROR    Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1
  Traceback (most recent call last):
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 22, in main
      install_dependencies()
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 18, in install_dependencies
      check_call('%s install -r %s' % (os.path.join(APP_VIRTUAL_ENV, 'bin', 'pip'), requirements_file), shell=True)
    File "/usr/lib64/python2.7/subprocess.py", line 541, in check_call
      raise CalledProcessError(retcode, cmd)
  CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 (Executor::NonZeroExitStatus)

【问题讨论】:

    标签: python amazon-web-services flask pip


    【解决方案1】:

    这是因为 pip 版本太旧了。你可以添加.ebextensions来解决这个问题。

    1. 在应用的根文件夹中添加.ebextensions 文件夹
    2. 在里面放一个pip.config文件,内容是:
    
    commands:
      update_pip:
      command: "/opt/python/run/venv/bin/pip install --upgrade pip"
    
    1. 再次运行eb deploy,即可解决。

    【讨论】:

      最近更新 更多