> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qbraid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Environments

qBraid environments are simply [Python virtual environments](https://docs.python.org/3/library/venv.html) in disguise.
The qBraid CLI provides convenient short-cuts to activate and install packages into your qBraid environments, however all
of the traditional commands to activate and manipulate Python venvs still apply. For example, you can activate an
environment using the [source command](https://docs.python.org/3/library/venv.html#how-venvs-work):

```bash theme={null}
$ source ~/.qbraid/environments/<slug>/pyenv/bin/activate
```

If you're working in terminal, you don't specifically need to activate a qBraid environment, as you can just specify the full path
to that environment's Python interpreter when invoking Python, e.g. `/<path-to-venv>/bin/python`. The same is true for `pip` commands.
So if you are attempting to install new packages into a qBraid environment from terminal or inside a notebook, make sure to use the full
pip path.

Simply running `pip install ...` will default to `/opt/conda/bin/pip`, which will cause dependency conflicts, and the installed packages
will be overridden the next time you launch lab.

### Install package

From Launcher, under “Other”, click on Terminal. By default, your qBraid terminal opens using Python (and pip) from
`/opt/conda/bin`. Packages that are installed directly at this top-level will *not* persist between sessions. Instead,
use the qBraid CLI to list your environments,

```bash theme={null}
$ qbraid envs list
# qbraid environments:
#

default                        /opt/.qbraid/environments/qbraid_000000
qsharp                         /opt/.qbraid/environments/qsharp_b54crn
qbraid_sdk                     /home/jovyan/.qbraid/environments/qbraid_sdk_9j9sjy
qiskit                         /home/jovyan/.qbraid/environments/qiskit_9y9siy
```

activate an environment, and perform your pip installs from there. For example, installing pytket into the qiskit environment:

```bash theme={null}
$ qbraid envs activate qiskit
$ python -m pip install pytket
$ deactivate
```
