Python Virtual Environment, Creating a venv Virtual Environment

As you work with Python programming, you often engage in various projects, and during this process, there are many instances where different versions of packages or libraries are required for each project. To solve this problem, using a virtual environment is very useful. In this article, I will explain in detail how to create a virtual environment using Python’s basic virtual environment tool, venv, and how to utilize it.

What is a Virtual Environment?

A virtual environment refers to an independent Python environment that operates separately from the physical operating system. This allows for independent management of the packages required for a specific project, and it effectively manages dependencies across multiple projects without affecting the entire system.

Introduction to venv

venv is a virtual environment creation tool included in the standard library starting from Python version 3.3. venv has the advantage of easily creating and using virtual environments with simple commands. Since it is a built-in module, there is no need for additional installation, and it can be used immediately without further configuration.

Creating a Virtual Environment with venv

1. Check Python Installation

First, to use venv, Python must be installed. Open the terminal or command prompt and enter the following command to check if Python is installed:

python --version

Or if you are using a system that employs the python3 command:

python3 --version

2. Create a Virtual Environment

If the previously mentioned Python is installed, let’s create a virtual environment now. Enter the following command to create a virtual environment:

python -m venv myenv

Here, myenv is the name of the virtual environment, and you can change it to any name you prefer. Executing this command will create a folder named myenv in the current working directory, which will include the necessary files to set up the virtual environment.

3. Activate the Virtual Environment

After creating the virtual environment, you now need to activate it. Activating the virtual environment changes the terminal environment to the corresponding virtual environment, allowing only the packages within that path to be used.

Activation on Windows

myenv\Scripts\activate

Activation on macOS/Linux

source myenv/bin/activate

Once the virtual environment is activated, the name of the virtual environment will be displayed before the prompt. For example, it might appear as (myenv). This indicates that the current virtual environment is active.

4. Install Packages

While the virtual environment is activated, you can install the necessary packages. For example, if you want to install a package called requests, you can enter the following command:

pip install requests

5. Deactivate the Virtual Environment

After using the virtual environment, it’s necessary to deactivate it. To deactivate, enter the command below:

deactivate

Carefully entering the deactivate command will remove the name of the virtual environment from the prompt.

6. Delete the Virtual Environment

You can easily delete a virtual environment that you no longer need. While the virtual environment is deactivated, simply delete the directory where the virtual environment is located. For example, if you want to delete the virtual environment named myenv, you can type the following in the terminal:

rm -rf myenv

Advantages of Virtual Environments

  • Environment Independence: You can use different versions of packages for each project, preventing conflicts.
  • Ease of Development: By installing packages in a virtual environment, you can keep the terminal environment clean and free of unnecessary packages specific to particular projects.
  • Reproducibility: It is possible to set up the same package environment among team members and deployment environments, maintaining consistency between development and production environments.

Conclusion

In this article, we explored how to create and utilize a virtual environment using Python’s venv. Virtual environments are essential tools for developers working on various projects in the field. They are highly effective for managing project dependencies and maintaining independent development environments. Now you can use venv to build a development environment optimized for your projects.

I hope this will be of great help in your future Python learning and development!