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

# Manage Packages

## Overview

**This guide covers how to use the package manager in the Project Tab in the Desktop App.**

The package manager lets you add packages to be built into the project container.
You can use it while the container is running or stopped.

**You can use the package manager to install packages into a running container.**

If the container is running, the packages will be installed live into the container.
The relevant package files, e.g. *requirements.txt* will be updated and the container will be rebuilt the next time you start it.

**Editing package files directly without the package manager will not install them in a running container.**

They will be built into the container the next time you start it.
Starting a container that has new dependencies automatically triggers a rebuild.

## Key Concepts

**Package Manager**

Feature in the Desktop App that lets you add packages to a running container.
Automatically updates *requirements.txt* or *apt.txt*.

**requirements.txt**

Lists Python packages to install with pip during container build.
One package per line, optionally with version constraints.

**apt.txt**

Lists system packages to install with apt during container build.
One package per line.

**Container Rebuild**

Building a new container image with updated package lists or configurations.
Required when you edit package files directly.

## Use the Package Manager

**Step One: Open the package manager.**

1. Select **Project Tab > Project Container > Packages**
2. Select **Add Package**

**Step Two: Add each package you need.**

1. Select the package manager from the dropdown: **pip**, **conda**, or **apt**
2. Enter the package name
3. Optionally enter a version constraint (e.g., `>=1.21.0`)
4. Select **Add**
5. Repeat for additional packages

**Step Three: Submit the changes.**

1. Select **Submit** when finished adding packages

**Success: Packages install in the running container.**

## Add Python Packages by Editing requirements.txt

**Step One: Open requirements.txt in your project root.**

1. Select **Project Tab > Files > requirements.txt**
2. Select **Option Dots > Edit**

**Step Two: Add packages to the file.**

1. Add one package per line
2. Optionally specify versions: `numpy==1.21.0` or `pandas>=1.3.0`
3. Select **Save**

**Step Three: Rebuild the container.**

1. Select **Project Tab > Project Container > Start Build**

**Success: The container rebuilds with the new packages installed.**

## Add System Packages by Editing apt.txt

**Step One: Open apt.txt in your project root.**

1. Select **Project Tab > Files > apt.txt**
2. Select **Option Dots > Edit**

**Step Two: Add packages to the file.**

1. Add one package per line
2. Use standard Debian/Ubuntu package names
3. Select **Save**

**Step Three: Rebuild the container.**

1. Select **Project Tab > Project Container > Start Build**

**Success: The container rebuilds with the new packages installed.**

## Remove Packages

**Step One: Remove the package from the configuration file.**

1. Delete the line from *requirements.txt* or *apt.txt*
2. Select **Save**

**Step Two: Rebuild the container.**

1. Select **Project Tab > Project Container > Start Build**

**Success: The container rebuilds without the removed package.**

<Note>

Removing a package from the configuration file doesn't uninstall it from a running container. You must rebuild to get a clean environment without the package.

</Note>

## Rebuild the Container

**Step One: Start the rebuild.**

1. Select **Project Tab > Project Container > Start Build**

**Success: The build starts and you can monitor progress in the build output.**