Home Backend Development Python Tutorial Creating a Virtual Environment (venv) in Python

Creating a Virtual Environment (venv) in Python

Oct 08, 2024 pm 02:11 PM

Creating a Virtual Environment (venv) in Python

Introduction

Virtual environments are an essential tool for Python developers, allowing us to create isolated spaces for our applications. This is especially useful when you need to manage different versions of packages and dependencies without affecting the global system. In this post, I intend to demonstrate how you can create and use a virtual environment in Python.

Creating a Virtual Environment

First, to create a virtual environment, we will need the venv module, which is already included in the more recent versions of Python (starting from version 3.3). This means that when you install Python, you automatically have access to the functionality to create virtual environments using venv.

1. Creating the Project

First, we need to create a folder that will contain our project. You can do this manually or through the terminal.

mkdir my-project
Copy after login

Navigating into the folder:

cd my-project/
Copy after login

2. Creating the Virtual Environment

To create the virtual environment, type the following command in the terminal:

python3 -m venv virtual_environment_name
Copy after login

Normally, we use "venv" as the virtual_environment_name, but this is not a rule, and other names should work as well.

After using the command above, note that a folder will be created (with the name you provided), and this folder will be responsible for storing the current version of Python you have, as well as all the libraries used in the project. These libraries will be stored only in this directory and not in the main system, allowing for versatility when working on different projects.

3. Activating the Virtual Environment

On macOS and Linux:

source virtual_environment_name/bin/activate
Copy after login

On Windows:

virtual_environment_name\Scripts\Activate
Copy after login

Once this is done, the name of the current virtual environment will be displayed in the terminal prompt, indicating that the environment has been successfully activated. This way, we can install the project dependencies normally without potential conflicts. Simply type pip install followed by the name of the library you want to install.

4. Replicating Environments

With our virtual environment up and running, we can replicate it on other machines. To do this, we need to export a file containing the libraries used in the project.

pip freeze > requirements.txt
Copy after login

By using this command, a requirements.txt file will be created, containing all the libraries present in our virtual environment. For example:

Flask==2.3.2
requests==2.32.3
beautifulsoup4==4.12.3
Copy after login

Finally, if we want to run our project on another machine, it won’t be necessary to download the dependencies one by one. We can simply use the command below, and all the libraries listed in the requirements.txt file will be installed automatically.

pip install -r requirements.txt
Copy after login

5. Deactivating the Virtual Environment

To deactivate a virtual environment and return to the global Python environment, we can type:

deactivate
Copy after login

Conclusion

Virtual environments are a fundamental part of Python development, allowing developers to isolate their applications and manage dependencies effectively. Their use not only prevents conflicts between different projects but also makes sharing and collaborating on projects much simpler.

Additionally, using the requirements.txt file simplifies the setup of environments on different machines, saving time and effort in manually installing dependencies. In summary, utilizing virtual environments should be a standard practice for any Python developer, contributing to a more organized and efficient workflow.

You can read more about virtual environments in Python at the official documentation: Python venv documentation.

The above is the detailed content of Creating a Virtual Environment (venv) in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? Apr 01, 2025 pm 11:15 PM

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How to teach computer novice programming basics in project and problem-driven methods within 10 hours? How to teach computer novice programming basics in project and problem-driven methods within 10 hours? Apr 02, 2025 am 07:18 AM

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? Apr 02, 2025 am 07:15 AM

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

What are regular expressions? What are regular expressions? Mar 20, 2025 pm 06:25 PM

Regular expressions are powerful tools for pattern matching and text manipulation in programming, enhancing efficiency in text processing across various applications.

How does Uvicorn continuously listen for HTTP requests without serving_forever()? How does Uvicorn continuously listen for HTTP requests without serving_forever()? Apr 01, 2025 pm 10:51 PM

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

What are some popular Python libraries and their uses? What are some popular Python libraries and their uses? Mar 21, 2025 pm 06:46 PM

The article discusses popular Python libraries like NumPy, Pandas, Matplotlib, Scikit-learn, TensorFlow, Django, Flask, and Requests, detailing their uses in scientific computing, data analysis, visualization, machine learning, web development, and H

How to dynamically create an object through a string and call its methods in Python? How to dynamically create an object through a string and call its methods in Python? Apr 01, 2025 pm 11:18 PM

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

See all articles