Ao desenvolver projetos em [[Linguagem de programação Python|Python]], é altamente recomendável o uso de **ambientes virtuais**. Um ambiente virtual é um diretório isolado que contém uma instalação [[Linguagem de programação Python|Python]] específica e suas dependências. Isso permite que você gerencie as dependências de cada projeto separadamente, evitando conflitos entre diferentes versões de bibliotecas.
**Vantagens de usar ambientes virtuais:**
* **Isolamento:** Cada projeto tem suas próprias dependências, sem interferir em outros projetos ou no sistema operacional.
* **Reprodutibilidade:** Facilita a reprodução do ambiente de desenvolvimento em diferentes máquinas.
* **Organização:** Mantém as dependências do projeto organizadas e fáceis de gerenciar.
**Como criar e ativar um ambiente virtual:**
1. **Criar o ambiente virtual:**
```bash
python -m venv venv
```
Este comando cria um diretório chamado `venv` (você pode escolher outro nome) que conterá o ambiente virtual.
2. **Ativar o ambiente virtual:**
* **Linux/macOS:**
```bash
source venv/bin/activate
```
* **Windows:**
```bash
venv\Scripts\activate
```
Após a ativação, você verá o nome do ambiente virtual entre parênteses no prompt do seu terminal (por exemplo, `(venv)`).
**Gerenciamento de dependências com `pip`:**
Cada ambiente virtual tem sua própria versão do gerenciador de pacotes `pip`. É uma boa prática usar `pip` para instalar e gerenciar as dependências do seu projeto dentro do ambiente virtual.
**Como salvar as dependências do projeto:**
Para garantir que você possa recriar o ambiente virtual em outro lugar, você pode salvar a lista de dependências em um arquivo `requirements.txt`:
```bash
python -m pip freeze > requirements.txt
```
Este comando cria um arquivo chamado `requirements.txt` que contém uma lista de todos os pacotes instalados no ambiente virtual, juntamente com suas versões.
**Como instalar as dependências a partir do arquivo `requirements.txt`:**
Para instalar as dependências em um novo ambiente virtual, use o seguinte comando:
```bash
pip install -r requirements.txt
```
Este comando lê o arquivo `requirements.txt` e instala todos os pacotes listados nele.
**Exemplo de fluxo de trabalho:**
1. Crie um ambiente virtual: `python -m venv venv`
2. Ative o ambiente virtual: `source venv/bin/activate` (ou `venv\Scripts\activate` no Windows)
3. Instale as dependências do projeto: `pip install <pacote1> <pacote2> …`
4. Desenvolva seu projeto.
5. Salve as dependências em um arquivo: `python -m pip freeze > requirements.txt`
6. Para recriar o ambiente em outro lugar:
* Crie um novo ambiente virtual.
* Ative o novo ambiente virtual.
* Instale as dependências: `pip install -r requirements.txt`
**Outras ferramentas:**
Você também pode usar [[Pyenv]] para gerenciar diferentes versões do [[Linguagem de programação Python|Python]].
**Referências:**
* [venv— Creating virtual environments — Python 3.11.1 documentation](https://docs.python.org/en-us/3/library/venv.html)
* [12. Virtual environments and packages — Python 3.11.3 documentation](https://docs.python.org/3/tutorial/venv.html)