Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a Python virtual environment #6681

Open
wants to merge 16 commits into
base: nfiann-prerelease
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions website/docs/docs/core/create-a-python-virtual-environment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: Create a Python virtual environment
id: create-a-python-virtual-environment
description: "Instructions on creating a Python virtual environment."
pagination_next: "docs/core/create-a-python-virtual-environment"
pagination_prev: null
---

A Python virtual environment is an isolated workspace for Python projects. This prevents libraries and versions used in one project from interfering with others, making it especially helpful when working on multiple projects with differing requirements or avoiding conflicts with global Python installations.

The Python ecosystem offers several tools for creating isolated environments, such as [conda](https://anaconda.org/anaconda/conda), [poetry](https://python-poetry.org/docs/managing-environments/), and `venv`. Among these, `venv` has the fewest additional dependencies and has been included by default in recent Python versions for quite some time.

`venv` will set up a Python virtual environment within the `env` folder.

Users who want to run dbt locally, for example in [dbt Core](/docs/core/installation-overview) or the [dbt Cloud CLI](/docs/cloud/cloud-cli-installation#install-a-virtual-environment) may want to install a Python virtual environment.


## Prerequisites

- Access to a terminal or command prompt.
- Have [Python](https://www.python.org/downloads/) installed on your machine. You can check if Python is installed by running `python --version` or `python3 --version` in your terminal or command prompt.
- Have [pip installed](https://pip.pypa.io/en/stable/installation/). You can check if pip is installed by running `pip --version` or `pip3 --version`.
- Have the necessary permissions to create directories and install packages on your machine.

## Install a Python virtual environment

Depending on the operating system you use, you'll need to execute specific steps to set up a virtual environment.

To install a Python virtual environment, navigate to your project directory and execute the command. This will generate a new virtual environment within a local folder which you can name it anything you want. [Our convention](https://github.com/dbt-labs/dbt-core/blob/main/CONTRIBUTING.md#virtual-environments) has been to name it `env` or `env-anything-you-want`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which you can name it anything you want -> that you can name anything.
A suggestion on refining the literature.


<Tabs>
<TabItem value="Unix/macOS" label="Unix/macOS">
1. Create your virtual environment

```shell
python3 -m venv env
```

2. Activate your virtual environment:

```shell
source .venv/bin/activate
nataliefiann marked this conversation as resolved.
Show resolved Hide resolved
which python
.venv/bin/python
nataliefiann marked this conversation as resolved.
Show resolved Hide resolved
```
</TabItem>

<TabItem value="Windows" label="Windows">
1. Create your virtual environment

```shell
py -m venv .venv
nataliefiann marked this conversation as resolved.
Show resolved Hide resolved
```

2. Activate your virtual environment:

```shell
.venv\Scripts\activate
nataliefiann marked this conversation as resolved.
Show resolved Hide resolved
where python
.venv\Scripts\python
nataliefiann marked this conversation as resolved.
Show resolved Hide resolved
```
</TabItem>
</Tabs>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2024-12-25 at 4 27 37 PM

Can be render it better?


If you're using dbt Core, refer to [What are the best practices for installing dbt Core with pip?](/faqs/Core/install-pip-best-practices.md#using-virtual-environments) after creating your virtual environment.

If you're using the dbt Cloud CLI, you can [install dbt Cloud CLI in pip](/docs/cloud/cloud-cli-installation#install-dbt-cloud-cli-in-pip) after creating your virtual environment.

nataliefiann marked this conversation as resolved.
Show resolved Hide resolved
## Deactivate virtual environment

To switch projects or leave your virtual environment, deactivate the environment using the command while the virtual environment is active:

```shell
deactivate
```
1 change: 1 addition & 0 deletions website/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ const sidebarSettings = {
label: "Install dbt Core",
link: { type: "doc", id: "docs/core/installation-overview" },
items: [
"docs/core/create-a-python-virtual-environment",
nataliefiann marked this conversation as resolved.
Show resolved Hide resolved
"docs/core/installation-overview",
"docs/core/pip-install",
"docs/core/docker-install",
Expand Down
Loading