Exercício – Criar e gerenciar um arquivo de projeto

Concluído

Neste exercício, você trabalhará em um projeto de Python criado por um colega. Você o busca no GitHub e precisa restaurá-lo para poder trabalhar com ele. Talvez você também precise atualizar as dependências.

Criar um ambiente virtual

Antes de começar, crie um ambiente virtual e coloque-se nele. Ao fazer isso, você se isola do restante do computador. Seu ambiente deve ser isolado para que você não afete o restante do computador ao instalar bibliotecas.

  1. Execute venv env, para criar um ambiente virtual chamado env:

    python -m venv env
    

    Agora você deve ver um novo subdiretório env.

  2. Para ativar o ambiente virtual, execute o seguinte comando no Windows:

    C:\ .. \env\Scripts\activate
    

    Ou esse comando no Linux, WSL ou macOS:

    source env/bin/activate
    

    O prompt de comando deve começar com (env) para indicar o nome do ambiente virtual.

Instalar dependências para um projeto

Você tem acesso a algum código-fonte e um arquivo requirements.txt. O .txt contém bibliotecas que você deseja baixar. Você precisa baixar essas bibliotecas para que o programa funcione conforme o esperado.

  1. Crie o diretório src e os arquivos necessários do terminal.

    Execute os seguintes comandos no Windows, uma linha por vez:

    md src
    cd src
    type nul > app.py
    type nul > requirements.txt
    

    Ou esses comandos no Linux, WSL ou macOS, uma linha por vez:

    mkdir src
    cd src
    touch app.py 
    touch requirements.txt
    

    Estes são seus arquivos:

    src/
      app.py
      requirements.txt
    
  2. Adicione o seguinte conteúdo a app.py:

    from datetime import *
    from dateutil.relativedelta import *
    now = datetime.now()
    print(now)
    
    now = now + relativedelta(months=1, weeks=1, hour=10)
    
    print(now)
    
  3. Adicione o seguinte conteúdo a requirements.txt:

    python-dateutil==2.8.2
    six==1.16.0
    
  4. Execute pip install para instalar bibliotecas especificadas em requirements.txt:

    pip install -r requirements.txt
    

    Você verá uma saída semelhante ao texto abaixo:

    Collecting python-dateutil==2.8.2
      Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
    Collecting six==1.16.0
      Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
    Installing collected packages: six, python-dateutil
    Successfully installed python-dateutil-2.8.2 six-1.16.0
    

Parabéns! Você restaurou com êxito um projeto que não tinha nada além de arquivos de aplicativo e um arquivo requirements.txt nele.

Atualizar um pacote

Imagine que o projeto que você criou esteja usando uma versão mais antiga da biblioteca python-dateutil. Além disso, sua equipe pediu que você instalasse apenas correções. Em outras palavras, a equipe deseja que você atualize a versão do patch e não instale uma atualização principal, pois isso pode ser arriscado para seu aplicativo e, potencialmente, travá-lo.

Primeiro, vamos simular estar em uma versão anterior do python-dateutil.

  1. Executar pip install:

    pip install python-dateutil==2.7.4
    

    Outras versões serão desinstaladas antes que a versão especificada seja instalada:

    Installing collected packages: python-dateutil
      Attempting uninstall: python-dateutil
        Found existing installation: python-dateutil 2.8.2
        Uninstalling python-dateutil-2.8.2:
          Successfully uninstalled python-dateutil-2.8.2
    Successfully installed python-dateutil-2.7.4
    

    Agora você deve estar na versão 2.7.4. Em seguida, você deseja tentar atualizar para a versão de patch mais recente.

  2. Executar pip install --upgrade:

    pip install "python-dateutil==2.7.*" --upgrade
    

    A última linha da saída deve indicar "python-dateutil-2.7.5 instalado com êxito". Isso significa que o pacote foi atualizado de acordo com o número que está mais à direita.

Parabéns! Você atualizou sua biblioteca de maneira responsável.