# venv

## Créer un venv

### Crée un dossier pour le projet

```bash
mkdir mon_projet
cd mon_projet
```

### Crée le venv

```bash
python3 -m venv venv
```

Cela crée un dossier `venv/`

## Activer le venv

```bash
source venv/bin/activate
```

Après activation, le terminal change :

```bash
(venv) user@machine:~/mon_projet$
```

Tous ce qui est installé à présent est isolé.

## Installer des librairies dans le venv

Exemple :

```bash
pip install requests numpy
```

Elles sont installées **uniquement** dans ce venv  
Le système n’est pas touché

Vérifier :

```bash
pip list
```

## Utiliser Python dans le venv

Toujours avec le venv activé :

```bash
python
```

Ou :

```bash
python main.py
```

C’est automatiquement le **Python du venv** qui est utilisé.

## Quitter le venv

```bash
deactivate
```

Le `(venv)` disparaît.

## Bonnes pratiques importantes

### Ne jamais faire :

```bash
sudo pip install ...
```

### Toujours :

- un venv par projet
- activer le venv avant de travailler

### Sauvegarder les dépendances :

```bash
pip freeze > requirements.txt
```

Puis pour les réinstaller :

```bash
pip install -r requirements.txt
```