DEV Community

Mohsin Rashid
Mohsin Rashid

Posted on

How to Create Virtual Environments in Python

Python virtual environments are essential for managing dependencies and avoiding conflicts between projects. This guide will walk you through the process of creating and activating a virtual environment in Python.

Step 1: Navigate to Your Project Directory

Open your terminal and navigate to the directory where you want to set up your Python virtual environment. You can do this using the cd command:

cd /path/to/your/project
Enter fullscreen mode Exit fullscreen mode

Step 2: Create the Virtual Environment

In the terminal, enter the following command to create a virtual environment. The name .venv is commonly used, but you can choose any name you prefer:

python3 -m venv .venv
Enter fullscreen mode Exit fullscreen mode

Step 3: Define Your Project Dependencies

Create a text file named requirements.txt in your project directory. In this file, list the Python libraries you want to install for your project. For example:

flask
requests
numpy
Enter fullscreen mode Exit fullscreen mode

Step 4: Activate the Virtual Environment

To start using the virtual environment, you need to activate it. Use the following command based on your operating system:

For Windows:

.\.venv\Scripts\activate
Enter fullscreen mode Exit fullscreen mode

For macOS/Linux:

source .venv/bin/activate
Enter fullscreen mode Exit fullscreen mode

Once activated, your terminal prompt will change to indicate that you are now working within the virtual environment.

Step 5: Upgrade pip

It’s a good practice to ensure that pip is up-to-date. Run the following command to upgrade pip:

.venv\Scripts\python.exe -m pip install --upgrade pip
Enter fullscreen mode Exit fullscreen mode

Step 6: Install Project Dependencies

Finally, install the Python libraries listed in your requirements.txt file by running:

pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

Top comments (4)

Collapse
 
ekvll profile image
Erik Lindvall

What do you find to be advantageous of Python venv over, for example, conda?
Using Python venv forces you to create a new env for every new project? While with conda, it is way easier to re-use envs, I feel.

Collapse
 
latex_wei profile image
LaTex wei

Conda is all you need

Collapse
 
ife_builds profile image
Ifedolapo Ajetunmobi

How would that work using conda approach

Collapse
 
ife_builds profile image
Ifedolapo Ajetunmobi

How would that work using conda approach?