Configurar seu ambiente de desenvolvimento Python para o Elastic Beanstalk - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar seu ambiente de desenvolvimento Python para o Elastic Beanstalk

Este tópico fornece instruções para configurar um ambiente de desenvolvimento Python para testar sua aplicação localmente antes de implantá-la no AWS Elastic Beanstalk. Também faz referência a sites com instruções de instalação para ferramentas úteis.

Para ver as etapas de configuração comuns e as ferramentas que se aplicam a todas as linguagens, consulte Configurar sua máquina de desenvolvimento para uso com o Elastic Beanstalk.

Para seguir os procedimentos neste manual, você precisa de um terminal de linha de comando ou de um shell para executar os comandos. Nas listagens, os comandos são mostrados precedidos por um símbolo de prompt ($) e pelo nome do diretório atual, quando apropriado.

~/eb-project$ this is a command this is output

No Linux e no macOS, você pode usar seu gerenciador de pacotes e de shell preferido. No Windows, você pode instalar o subsistema Windows para Linux para obter uma versão do Ubuntu e Bash integrada ao Windows.

Para ver as etapas de configuração comuns e as ferramentas que se aplicam a todas as linguagens, consulte Configurar sua máquina de desenvolvimento para uso com o Elastic Beanstalk.

Pré-requisitos

A lista a seguir fornece os pré-requisitos comuns para trabalhar com o Elastic Beanstalk e suas aplicações Python:

  • Linguagem Python: instale a versão da linguagem Python que está incluída na versão da plataforma Python do Elastic Beanstalk escolhida. Para obter uma lista de nossas versões de linguagem Python compatíveis, consulte Plataformas Python compatíveis, no guia de Plataformas do AWS Elastic Beanstalk. Se você ainda não tiver o Python configurado na máquina de desenvolvimento, consulte a página de downloads do Python no site do Python.

  • Utilitário pip: o utilitário pip é o instalador de pacotes do Python. Ele instala e lista as dependências do seu projeto, para que o Elastic Beanstalk saiba como configurar o ambiente da aplicação. Para obter mais informações sobre pip, consulte a página do pip no site pip.pypa.io.

  • (Opcional) A interface de linha de comando do Elastic Beanstalk (EB CLI): a EB CLI pode empacotar sua aplicação com os arquivos de implantação necessários. Ela também pode criar um ambiente Elastic Beanstalk e implantar sua aplicação nele. Você também pode fazer implantações por meio do console do Elastic Beanstalk e, portanto, a EB CLI não é estritamente necessária.

  • Uma instalação funcional do SSH: você pode se conectar a instâncias em execução com o protocolo SSH para examinar ou depurar uma implementação.

  • Pacote virtualenv: essa ferramenta virtualenv cria um ambiente de desenvolvimento e teste para sua aplicação. O Elastic Beanstalk pode replicar esse ambiente sem instalar pacotes extras que não são necessários para a aplicação. Para obter mais informações, consulte o site virtualenv. Depois de instalar o Python, você pode instalar o pacote virtualenv com o seguinte comando:

    $ pip install virtualenv

Usar um ambiente virtual

Quando você tiver os pré-requisitos instalados, configure um ambiente virtual com virtualenv para instalar as dependências de seu aplicativo. Usando um ambiente virtual, você pode distinguir exatamente quais pacotes são necessários ao seu aplicativo para que eles sejam instalados nas instâncias do EC2 que executam seu aplicativo.

Para configurar um ambiente virtual
  1. Abra uma janela de linha de comando e digite:

    $ virtualenv /tmp/eb_python_app

    Substitua eb_python_app por um nome que faça sentido para a aplicação (usar o nome da aplicação é uma boa ideia). O comando virtualenv cria um ambiente virtual para você no diretório especificado e imprime os resultados de suas ações:

    Running virtualenv with interpreter /usr/bin/python New python executable in /tmp/eb_python_app/bin/python3.7 Also creating executable in /tmp/eb_python_app/bin/python Installing setuptools, pip...done.
  2. Quando seu ambiente virtual estiver pronto, inicie-o executando o script activate localizado no diretório bin do ambiente. Por exemplo, para iniciar o ambiente eb_python_app criado na etapa anterior, você digita:

    $ source /tmp/eb_python_app/bin/activate

    O ambiente virtual imprime o nome dele (por exemplo: (eb_python_app)) no início de cada prompt de comando, lembrando que você está em um ambiente Python virtual.

  3. Para parar de usar seu ambiente virtual e voltar ao interpretador Python padrão do sistema com todas as bibliotecas instaladas, execute o comando deactivate.

    (eb_python_app) $ deactivate
nota

Após a criação, você poderá reiniciar o ambiente virtual a qualquer momento executando o script activate novamente.

Configurar um projeto Python para o Elastic Beanstalk

É possível usar a CLI do Elastic Beanstalk para preparar as aplicações Python para implantação com o Elastic Beanstalk.

Como configurar uma aplicação Python para implantação com o Elastic Beanstalk
  1. Em seu ambiente virtual, volte para a parte superior da árvore de diretórios do projeto (python_eb_app) e digite:

    pip freeze >requirements.txt

    Este comando copia os nomes e versões dos pacotes que estão instalados em seu ambiente virtual para requirements.txt, Por exemplo, se o pacote PyYAML, versão 3.11 estiver instalado em seu ambiente virtual, o arquivo conterá a linha:

    PyYAML==3.11

    Dessa forma, o Elastic Beanstalk pode replicar o ambiente Python da aplicação usando os mesmos pacotes e as mesmas versões que você usou para desenvolver e testar a aplicação.

  2. Configure o repositório da EB CLI com o comando eb init. Siga os prompts para escolher a região, a plataforma e outras opções. Para obter instruções detalhadas, consulte Gerenciar ambientes do Elastic Beanstalk com a CLI do EB.

Por padrão, o Elastic Beanstalk procura um arquivo chamado application.py para iniciar a aplicação. Se ele não existir no projeto Python que você criou, alguns ajustes no ambiente do seu aplicativo serão necessários. Você também precisará definir variáveis de ambiente para que os módulos do aplicativo possam ser carregados. Consulte Usar a plataforma Python do Elastic Beanstalk Para mais informações.