Formula
Group
Languages
Keywords
Last edited time
Jun 7, 2024 12:47 PM
Slug
Status
Draft
Title
Code inside page
Github
👉 Overview
👀 What ?
venv is a tool in Python used to create isolated Python environments. It stands for 'Virtual Environment' and is part of the Python standard library since version 3.3. These isolated environments allow developers to have separate spaces for different projects, ensuring that dependencies, versions, and libraries do not interfere with each other.
🧐 Why ?
The importance of venv stems from the need to manage dependencies in Python projects. When working on multiple projects, it can become chaotic to keep track of all the different versions of libraries and modules used. The problem that venv solves is the potential conflicts that can occur between different versions of the same package. By using venv, developers can create separate environments for each project, preventing one project's dependencies from affecting another.
⛏️ How ?
To create a virtual environment using venv, you first need to have Python installed on your system. In your terminal, navigate to the directory where you want to create the environment and type 'python3 -m venv myenv', replacing 'myenv' with the name you want for your environment. This will create a new directory with the name you specified, containing the Python interpreter, the standard library, and various supporting files. To activate the environment, use the command 'source myenv/bin/activate'. Now, you can install packages into this isolated environment using pip. Remember to deactivate the environment when you're done using the command 'deactivate'.
⏳ When ?
The venv module was added to the Python standard library in version 3.3, released in September 2012. Since then, it has become a standard practice in Python development to use virtual environments for managing project dependencies.
⚙️ Technical Explanations
The venv module works by creating a 'venv' directory, which contains a copy of the Python binary, the pip installer, the standard Python library, and other supporting files. When the virtual environment is activated, the system's PATH is temporarily altered to point to the 'venv' directory. This ensures that when you execute Python or pip commands, the system uses the versions inside the 'venv' directory, ignoring any system-wide installations. All packages installed while the environment is active are stored in the 'venv' directory, isolated from the system-wide Python environment. This allows each project to have its own independent set of installed packages, avoiding conflicts and version mismatches.