Olá, Roberto! Entendo que a criação de ambientes virtuais e a instalação de pacotes podem parecer um pouco repetitivas, mas eu posso te explicar o porquê disso.
A ideia de criar um ambiente virtual para cada projeto é justamente para isolar as dependências de cada um. Assim, se você tem um projeto que usa uma versão específica de uma biblioteca (como o pytest), isso não vai interferir em outro projeto que pode precisar de uma versão diferente.
Quanto à instalação do pytest em cada ambiente, isso é necessário porque, ao criar um novo ambiente virtual, ele é como uma "caixa vazia". Ele não tem nenhuma das bibliotecas que você instalou em outros ambientes. Portanto, você precisa instalar o pytest (ou qualquer outra biblioteca que seu projeto necessite) em cada ambiente que você criar.
No entanto, uma maneira de facilitar esse processo é usar um arquivo de requisitos (geralmente chamado requirements.txt
). Nesse arquivo, você pode listar todas as bibliotecas e suas respectivas versões que seu projeto precisa. Assim, ao criar o ambiente virtual, você só precisa rodar o comando pip install -r requirements.txt
e todas as bibliotecas listadas serão instaladas automaticamente.
Por exemplo, seu arquivo requirements.txt
poderia ser algo como:
pytest==7.1.2
E então, após criar e ativar o ambiente virtual, você só precisaria rodar:
pip install -r requirements.txt
Espero ter ajudado e bons estudos!