CommonLounge Archive

Django Installation

May 17, 2018

Virtual Environment

Before we install Django we will get you to install an extremely useful tool to help keep your coding environment tidy on your computer. It’s possible to skip this step, but it’s highly recommended. Starting with the best possible setup will save you a lot of trouble in the future!

So, let’s create a virtual environment (also called a virtualenv). Virtualenv will isolate your Python/Django setup on a per-project basis. This means that any changes you make to one website won’t affect any others you’re also developing. Neat, right?

All you need to do is find a directory in which you want to create the virtualenv; your home directory, for example. On Windows, it might look like C:\Users\Name\ (where Name is the name of your login).

NOTE: On Windows, make sure that this directory does not contain accented or special characters; if your username contains accented characters, use a different directory, for example, C:\myblog.

For this tutorial we will be using a new directory myblog from your home directory:

$ mkdir myblog
$ cd myblog

We will make a virtualenv called myvenv. The general command will be in the format:

$ python3 -m venv myvenv


To create a new virtualenv, you need to open the command prompt and run python -m venv myvenv. It will look like this:

C:\Users\Name\myblog> python -m venv myvenv 

Where myvenv is the name of your virtualenv. You can use any other name, but stick to lowercase and use no spaces, accents or special characters. It is also good idea to keep the name short – you’ll be referencing it a lot!

Linux and OS X

We can create a virtualenv on both Linux and OS X by running python3 -m venv myvenv. It will look like this:

$ python3 -m venv myvenv 

myvenv is the name of your virtualenv. You can use any other name, but stick to lowercase and use no spaces. It is also a good idea to keep the name short as you’ll be referencing it a lot!

NOTE: On some versions of Debian/Ubuntu you may receive the following error:

The virtual environment was not created successfully because ensurepip is not available.
On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
    apt install python3-venv You may need to use sudo with that command.
After installing the python3-venv package, recreate your virtual environment. 

In this case, follow the instructions above and install the python3-venv package:

$ sudo apt install python3-venv 

NOTE: On some versions of Debian/Ubuntu initiating the virtual environment like this currently gives the following error:

Error: Command '['/home/eddie/Slask/tmp/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 

To get around this, use the virtualenv command instead.

$ sudo apt install python-virtualenv
$ virtualenv --python=python3.6 myvenv 

NOTE: If you get an error like

E: Unable to locate package python3-venv 

then instead run:

sudo apt install python3.6-venv

Working with virtualenv

The commands you have followed so far will create a directory called myvenv (or whatever name you chose) that contains our virtual environment (basically a bunch of directory and files). Next, we’ll look at how to work with the virtualenv.


Start your virtual environment by running:

C:\Users\Name\myblog> myvenv\Scripts\activate 

NOTE: on Windows 10 you might get an error in the Windows PowerShell that says execution of scripts is disabled on this system. In this case, open another Windows PowerShell with the “Run as Administrator” option. Then try typing the following command before starting your virtual environment:

C:\WINDOWS\system32> Set-ExecutionPolicy -ExecutionPolicy 
RemoteSigned     Execution Policy Change     The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at Do you want to change the execution policy? [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): A 

Linux and OS X

Start your virtual environment by running:

$ source myvenv/bin/activate

Remember to replace myvenv with your chosen virtualenv name!
NOTE: sometimes source might not be available. In those cases try doing this instead:

$ . myvenv/bin/activate 

You will know that you have virtualenv started when you see that the prompt in your console is prefixed with (myvenv).

When working within a virtual environment, python will automatically refer to the correct version so you can use python instead of python3.

OK, we have all important dependencies in place. We can finally install Django!

Installing Django

Now that you have your virtualenv started, you can install Django.

Before we do that, we should make sure we have the latest version of pip, the software that we use to install Django:

(myvenv) ~$ pip install --upgrade pip

Installing packages with requirements

A requirements file keeps a list of dependencies to be installed using pip install:

First create a requirements.txt file inside of myblog/ folder:


In your myblog/requirements.txt file you should add the following text:


Now, run pip install -r requirements.txt to install Django.

(myvenv) ~$ pip install -r requirements.txt
Collecting Django~=2.0.6 (from -r requirements.txt (line 1))
  Downloading Django-2.0.6-py3-none-any.whl (7.1MB)
Installing collected packages: Django
Successfully installed Django-2.0.6

We’ll also include instructions for working with Django version 1.11.0 since many people still haven’t updated to the newer versions of Django. To use the older version, replace Django~=2.0.6 in the requirements.txt above with Django~=1.11.0. Then, follow the exact same steps, i.e. run the same pip install -r requirements.txt command.

Important: Please install the exact version of Django mentioned above (2.0.6). If you install a newer version, some of the examples may break for you!


If you get an error when calling pip on Windows platform, please check if your project pathname contains spaces, accents or special characters (for example, C:\Users\User Name\myblog). If it does, please consider using another place without spaces, accents or special characters (suggestion: C:\myblog). Create a new virtualenv in the new directory, then delete the old one and try the above command again. (Moving the virtualenv directory won’t work since virtualenv uses absolute paths.)

Windows 8 and Windows 10

Your command line might freeze after when you try to install Django. If this happens, instead of the above command use:

C:\Users\Name\myblog> python -m pip install -r requirements.txt


If you get an error when calling pip on Ubuntu 12.04 please run python -m pip install -U --force-reinstall pip to fix the pip installation in the virtualenv.

That’s it! You’re now (finally) ready to create a Django application!

© 2016-2022. All rights reserved.