【问题标题】:Can I update Amazon's old versions of pip and setuptools?我可以更新亚马逊旧版本的 pip 和 setuptools 吗?
【发布时间】:2015-04-06 19:11:46
【问题描述】:

我可以更新或删除随 AWS Elastic Beanstalk 提供的 pip 和 setuptools 吗?

我的 AWS Elastic Beanstalk Python 环境(在运行我的应用程序的 2.7 虚拟环境中,ami-d14608e1;在/opt/python/run/venv/lib/python2.7/site-packages 中)提供的 pip 和 setuptools 版本非常旧:据报告

pip list --outdated

他们是

setuptools (Current: 2.2 Latest: 12.0.5)
pip (Current: 1.5.4 Latest: 6.0.7)

我可以更新这些(例如,通过在我的 requirements.txt 中列出它们)还是这些特定版本是 EB 的 Python 和部署流程正常工作所期望或需要的?

【问题讨论】:

    标签: python amazon-web-services pip amazon-elastic-beanstalk setuptools


    【解决方案1】:

    pip 为例,默认的 AWS 环境通常提供旧版本。目前它是我使用的机器上的6.1.1,而pip 在每次调用时重复9.0.1 可用。

    依赖项有时需要最新版本的pip。使其可用的一种方法是依赖 pip 本身,因为 AWS 提供的 yum 源升级速度较慢(由于会导致...的巨大影响)。

    不同的 AWS 服务有不同的解决方案。问题是关于 Beanstalk。假设基于AWS提供的eb部署,可以在目标容器中执行命令:

    • 创建一个.ebextensions/upgrade_pip.config 文件。
    • 插入要执行的命令。

    要升级pip,可以使用这样的命令:

    commands:
      pip_upgrade:
        command: /opt/python/run/venv/bin/pip install --upgrade pip
        ignoreErrors: false
    

    请注意,.ebextensions/upgrade_pip.config 的文件名定义了执行顺序。如果它需要比.ebextensions 中的任何其他脚本更早地运行,则需要像01_upgrade... 这样的前缀。

    【讨论】:

    • 这是否仍然有效,因为我的部署似乎完全忽略了它?可能已经过时了,还是应该这样?
    • @CodeSpent 我刚刚尝试过,它仍然有效。 Here 是代码和服务器日志的 sn-p。
    • 是的,我应该告诉 EBcli 什么才能让 ebextension 运行?
    • @jwillis0720 如果您遵循 AWS 设置的模式(.ebextensions 下的文件),则应在执行命令时选择它们。有关更多信息,documentation 提供了示例。
    • 我还告诉 pip 首先在需求文件中更新自己
    【解决方案2】:

    尝试添加一个 ebextension 文件,在运行之前升级 pip pip install -r requirements.txt

    例如:

    004_prehook.config

    files:
      "/opt/elasticbeanstalk/hooks/appdeploy/pre/02a_upgrade_pip.sh":
        mode: "000755"
        owner: root
        group: root
        content: |
          #!/usr/bin/env bash
          source /opt/python/run/venv/bin/activate
          python3 -m pip install --upgrade pip
    

    【讨论】:

    • 嘿Yarh,这对我不起作用...我怎么能理解出了什么问题?我是 14 天前开始使用 AWS 的,我从没想过 AWS 的文档会这么差,无法做简单的事情……真是令人沮丧
    猜你喜欢
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    相关资源
    最近更新 更多