How To Setup A Python Virtual Environment On Windows 10

Reading Time: 4 minutes

A Virtual Environment or a “venv” is a Python module that creates a unique environment for each task or project. It installs the packages we need that are unique to that setting while keeping your projects neatly organized. Additionally, venv never actually modifies the system’s default Python versions or modules that are installed on the system. Using venv essentially allows for a unique working environment while avoiding any disruptions to other variants of Python that are used, but not related to our project.


We recommend enabling the Windows Subsystem for Linux (WSL) in order to take full advantage of all the functionality of venv on Windows 10. This allows you to run a full Linux distribution within Windows to aid in the functionality of the new dev environment.

Why should I use WSL?

  • Many of the tutorials for Python are written for Linux environments. 
  • Most devs use Linux based packaging/installation tools.
  • Using WSL ensures compatibility between development and production environments

How do I enable WSL?

  • Go to Start > then search for “Turn Windows features on or off.”
  • Click the link to open the Windows control panel. 
  • Next, open the Windows features pop-up menu. 
  • Scroll down in that list to locate the “Windows Subsystem for Linux” option and select the checkbox.
  • Reboot.
WSL will require you to download a version of Linux noted here.If you’re using Windows (without WSL), simply install Python 3 from the Python website. The venv module is incorporated into that Windows installation.

Install Linux

There are multiple Linux distros that work with WSL. You can locate and install them from the Microsoft Store. We recommend starting off with a Ubuntu 18.04 LTS distribution as it’s up to date, has an excellent support community, and is well documented.

  • To install Ubuntu, click this Ubuntu 18.04 LTS link. This will open the Microsoft store where you can click on the Get button.
  • Once the download has completed, type “Ubuntu 18.04 LTS” into your Start menu.
  • Next, you’ll be asked to create a username and password as it will be your first time using this OS.
  • Subsequently, you will now be signed in automatically as the default user.
  • Lastly, we’ll need to run an update on the new OS. You can accomplish this by running:
sudo apt update && sudo apt upgrade

As a side note, Windows does not handle upgrades for this OS so you will need to ensure Ubuntu stays up to date by running the update and upgrade commands manually.

If for some reason the Microsoft store app is unavailable to you, you can manually download and install a Linux distribution by clicking on one of these links:

You can then install your distro using PowerShell. To install one of those distros, navigate to the folder which contains the newly downloaded Linux distributions. Once in that folder, run the following command in PowerShell (where app_name.aspx is the name of the distribution file):

Add-AppxPackage .\app_name.appx

Next, we’ll add the path to the distro into your Windows environment PATH using Powershell (eg. C:\Users\Admin\Ubuntu)

$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")

[System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\Admin\Ubuntu", "User")

Now, we can start the distro by typing in uubuntu.exe. Next, we should initialize the new instance.

Launch a distro

To finish the initialization of your newly installed distro, we will need to launch a new instance. You can accomplish this by clicking on the “launch” button in the Microsoft app store, or by launching the distro’s .exe file from the Start menu. Additionally, if using a Windows Server, you can start the distro’s launcher’s executable file (Ubuntu.exe) from the distro’s installation folder.

During the last stage of the installation, the distro’s files will be decompressed and stored locally on your PC. This process may take a few minutes but is only required once. Later initializations should take less than a second.


There are four basic steps to install a virtual environment on windows:

  1. Install Python
  2. Install Pip
  3. Install VirtualEnv
  4. Install VirtualEnvWrapper-win
Remember, these commands should be run within the WSL Ubuntu environment. Additionally, the sudo command may be needed if not running as the root user.

Step 1. Install Python 

Python 3.8.0 is the latest major release of Python.

  • Note: There is now a “web-based” installer for Windows. This installer will download the required software during the installation.
  • There are also Python redistributable files that contain the Windows builds, which makes it easier to include Python in another software bundle. 
  • If you installed Ubuntu 18.04 from the above list, Python3 comes pre-installed.
which python

Step 2. Install PIP

We suggest following the directions located here in our knowledge base. Python3 usually comes with pip preinstalled, however, if you get the error “pip command not found,” simply use the following method to install pip. 

curl -o
  • Download, and make sure you’re saving the file to your Desktop. 
  • At your Windows Command Prompt, navigate to your Desktop and run the script. After that, pip should work system-wide 
You may need to have administrative privileges at the command prompt to accomplish this task. For more info on this, follow the directions from Start a Command Prompt as an Administrator from the Microsoft TechNet website.
cd Desktop

Step 3. Install Virtualenv 

In your Windows command shell prompt type in:

pip install virtualenv

Start virtualenv 

In your windows command prompt, head to your project location: 

cd my_project

 Once inside the project folder run: 

virtualenv env

Activate virtualenv 

On Windows, virtualenv (venv) creates a batch file called 


To activate virtualenv on Windows, and activate the script is in the Scripts folder :




Step 4. Install VirtualEnvWrapper-win

 There are two main methods we recommend to install this batch script.

  • Using pip

pip install virtualenvwrapper-win
  • Install from source
git clone git://

We then cd to the virtualenvwrapper-win folder and run: 

python install  

And that’s it! Python’s venv is set up and ready to use. 

Grab Your FREE Coupon Today!

Check out all the specials we have going on right now where you can save HUGE on our Dedicated, Cloud Dedicated as well as our VPS Servers! Additionally, check out the coupon below for even greater savings!!!

Top 15 Server Security Practices for 2020

Reading Time: 16 minutes

In this article, we will denote the security best practices for 2020 and beyond. Because security is such a challenging subject for many, it often goes unheeded, and as such, many are caught unaware when an issue arises. By following these best practices, you can significantly lower your risk of being compromised by a malicious actor.

Continue reading “Top 15 Server Security Practices for 2020”

What Is Python?

Reading Time: 4 minutes
python logo
Python Logo

We here at Liquid Web know how important good solid information can be. We also know that we have some of the most intelligent customers on the planet. With this in mind, we opt to try and ensure that you are kept up to date on the latest tech and information. It is with this in mind we continue to offer the latest knowledge available regarding ways to improve your service, upgrade your ability to work with your server(s), and enhance your overall effectiveness in growing your business.

Continue reading “What Is Python?”

How To Create A Software Install List

Reading Time: 3 minutes


The purpose of this article is to describe and explore ways to copy or backup your currently existing installed software titles into a single file for later use. We can then use this file to reinstall the software onto another system or clone the existing software across multiple Linux systems on or across a network. This method also prevents the need to install software titles one by one.

Continue reading “How To Create A Software Install List”

Update: WHMCS CURL Bug

Reading Time: 2 minutes

WHMCS has discovered a problem in an earlier EA4 Curl Package introduced on CentOS servers.


UPDATE: This is reportedly fixed in ea-libcurl-7.67.0-2.2.1, so it should no longer be necessary to downgrade. (

Working versions:
* ea-libcurl-7.66.0-1.1.2.cpanel.x86_64
* ea-libcurl-7.67.0-2.2.1.cpanel.x86_64

Buggy version:

Per it may be necessary to restart PHP-FPM to apply the changes to the running PHP binaries.

Continue reading “Update: WHMCS CURL Bug”

How to Use PyPI & PIP

Reading Time: 3 minutes
pypi logo

In this article, we will discuss how to access and utilize the Python Package Index or PyPI via the pip command.

PyPI is the default software repository for Python developers to store created Python programming language software developers and programmers alike use to publicize and share their software.

Continue reading “How to Use PyPI & PIP”

How to Simplify Working With Kernels

Reading Time: 5 minutes

What Is A Kernel?

The kernel is a piece of software that is at the core of an operating system. It usually has complete control over all of the server systems. It is normally the first program loaded after the bootloader has completed its tasks. The kernel then handles the rest of the start-up tasks as well as i/o requests from the system’s software. It then translates those requests into hardware instructions for the CPU (central processing unit).

Continue reading “How to Simplify Working With Kernels”

How to Install PIP on Ubuntu 18.04

Reading Time: 3 minutes

What is PIP?

In this article, we will discuss how to install PIP on Ubuntu 18.04. PIP is a tool used to install and manage Python packages. This tutorial will show how to install and check the version of PIP as well as run a few basic commands for using PIP on Ubuntu 18.04.

Continue reading “How to Install PIP on Ubuntu 18.04”

How To Clone A Git Repo on CentOS

Reading Time: 8 minutes

In this article, we discuss how to clone a git repo on CentOS. We also learn the differences between Git and GitHub, what version control means, what a repo is and how to clone a repository.

Continue reading “How To Clone A Git Repo on CentOS”