Exercício – Criar e gerenciar um arquivo de projeto
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.
Execute
venv env
, para criar um ambiente virtual chamado env:python -m venv env
Agora você deve ver um novo subdiretório env.
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.
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
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)
Adicione o seguinte conteúdo a requirements.txt:
python-dateutil==2.8.2 six==1.16.0
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
.
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.
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.