> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://fr.nvidia-localization.ferndocs.com/fr/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fr.nvidia-localization.ferndocs.com/fr/_mcp/server.

# nemo\_rl.utils.venvs

## Contenu du module

### Fonctions

| Nom                                                                            | Description                                                                            |
| ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| [`create_local_venv`](#nemorlutilsvenvscreatelocalvenv)                        | Créer un environnement virtuel en utilisant uv et exécuter une commande dans celui-ci. |
| [`_env_builder`](#nemorlutilsvenvsenvbuilder)                                  | Aucun                                                                                  |
| [`create_local_venv_on_each_node`](#nemorlutilsvenvscreatelocalvenvoneachnode) | Créer un environnement virtuel sur chaque nœud Ray.                                    |

### Données

`dir_path`
`git_root`
`DEFAULT_VENV_DIR`
`logger`

### API

```python
nemo_rl.utils.venvs.dir_path
```

**Valeur**: `dirname(...)`

```python
nemo_rl.utils.venvs.git_root
```

**Valeur**: `abspath(...)`

```python
nemo_rl.utils.venvs.DEFAULT_VENV_DIR
```

**Valeur**: `join(...)`

```python
nemo_rl.utils.venvs.logger
```

**Valeur**: `getLogger(...)`

```python
nemo_rl.utils.venvs.create_local_venv(
    py_executable: str,
    venv_name: str,
    force_rebuild: bool = False
) -> str
```

Créer un environnement virtuel en utilisant uv et exécuter une commande dans celui-ci.

La sortie peut être utilisée comme py\_executable pour un worker Ray en supposant que les nœuds workers ont également accès au même système de fichiers que le nœud principal.

Cette fonction est mise en cache pour éviter plusieurs appels à uv pour créer le même venv, ce qui évite les journaux en double.

Arguments :
py\_executable (str) : Commande à exécuter avec l'environnement virtuel (par exemple, "uv.sh run --locked")
venv\_name (str) : Nom de l'environnement virtuel (par exemple, "foobar.Worker")
force\_rebuild (bool) : Si True, forcer la reconstruction du venv même s'il existe déjà

Retourne :
str : Chemin de l'exécutable Python dans l'environnement virtuel créé

```python
nemo_rl.utils.venvs._env_builder(
    py_executable: str,
    venv_name: str,
    node_idx: int,
    force_rebuild: bool = False
)
```

```python
nemo_rl.utils.venvs.create_local_venv_on_each_node(
    py_executable: str, venv_name: str
)
```

Créer un environnement virtuel sur chaque nœud Ray.

Arguments :
py\_executable (str) : Commande à exécuter avec l'environnement virtuel
venv\_name (str) : Nom de l'environnement virtuel

Retourne :
str : Chemin de l'exécutable Python dans l'environnement virtuel créé