加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

弹性beanstalk需要python 3.5

发布时间:2020-12-20 11:57:23 所属栏目:Python 来源:网络整理
导读:我最近使用 python(3.5)的最新稳定版本创建了一个新的python程序.遗憾的是,AWS EB不提供3.5基本映像.我一直在尝试配置.ebextensions以使图像升级python发行版,因为它是第一个动作.我没有成功.我尝试过以下方法: 包 packages: yum: postgresql93-devel: [] p
我最近使用 python(3.5)的最新稳定版本创建了一个新的python程序.遗憾的是,AWS EB不提供3.5基本映像.我一直在尝试配置.ebextensions以使图像升级python发行版,因为它是第一个动作.我没有成功.我尝试过以下方法:

packages:
    yum:
        postgresql93-devel: []
        python35: []

命令

container_commands:
      01_install_packages:
        command: 'yum install -y python35 python35-pip'

在container_commands的情况下,日志确实显示成功安装python 35.但是,我们的代码(在后续命令中)然后以只有在获得python版本3.4或更低版本时才可能的方式失败.我假设虽然3.5安装环境没有切换到它作为源并继续使用3.4发行版.

我们无法手动修改环境,因为我们需要配置为自动扩展做好准备.因此,解决方案必须来自.ebextensions中的某些配置.这里的任何帮助将非常感激.

UPDATE

我收到来自AWS支持的电子邮件通知我,因为操作系统和应用程序python环境紧密耦合(即相同),所以无法将应用程序的默认python版本更改为python 3.5.他们建议我创建一个docker镜像.我开始研究如何做到这一点.如果我想出一个解决方案,我会在这里发布.

解决方法

我最终解决这个问题的方法是创建一个基于python的docker容器,然后切换到使用弹性beanstalk docker配置.我包括下面的脚本来帮助人们.请注意,它不包含uwsgi或supervisor,因为它只是第一次传递.您可能希望根据您的具体情况添加这些内容.

Dockerfile

FROM python:3.5

ADD . /src

RUN apt-get update
RUN apt-get install -y postgresql postgresql-contrib libpq-dev python3-dev
RUN pip3 install -r /src/requirements.txt
EXPOSE  8080
RUN python3 --version
CMD ["python3","/src/application.py","-p 8080"]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读