Creating development environments and installing Django with Anaconda

January 03, 2017

In today’s post, we’ll see how to create development environments and how to install Django using the Anaconda distribution.

In my Data Analysis and Data Science with Python posts, I always recommended the use of the Anaconda distribution to start working with the language. It is tested and used by thousands of people and it already comes with lots of important Python packages. Anaconda also comes with conda. conda works as an environment and package manager. Regarding environments, its functioning is similar to virtualenv. In this way, you can use it to create environments, where projects will have their own isolated configurations and packages installed, not messing with other projects setup. This is considered a good practice, because when you are working with more than one project, you can quickly start to have version conflicts between packages versions and Python’s version itself.

Regarding Anaconda installation, I already talked about it in this post, so, if you still don’t have it installed, it is pretty simple. Now, let’s talk about the creation of environments using conda, and after that, the installation of Django itself (which will also work for any other package, like Flask, for example).

Creating the environment

Let’s start creating our environment. After the installing, access your operational system’s terminal, type conda and hit “Enter”. The terminal will show how to use conda, with the commands and their uses. To start, you can list all your environments with the following command:

conda info --envs

You will see a list which will look like that (but will not be equal, since these are the environments I created):

# conda environments:
marketplacedigital       /home/felipe/anaconda3/envs/marketplacedigital
python2_env              /home/felipe/anaconda3/envs/python2_env
root                  *  /home/felipe/anaconda3

Now, let’s create a new environment. To create a new environment, we use the conda create command, with the --name argument, which will be the name of the environment, and we will also specify the Python version to be used on this environment. conda will show where it will put your environment, some basic packages that will be installed along with Python and will ask you to confirm the creation of the environment. Just type y and hit Enter:

conda create --name test_environment python=3
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /home/felipe/anaconda3/envs/test_environment

The following packages will be downloaded:

    package                    |            build
    xz-5.2.2                   |                1         669 KB
    python-3.6.0               |                0        16.3 MB
    setuptools-27.2.0          |           py36_0         523 KB
    wheel-0.29.0               |           py36_0          88 KB
    pip-9.0.1                  |           py36_1         1.7 MB
                                           Total:        19.2 MB

The following NEW packages will be INSTALLED:

    openssl:    1.0.2j-0     
    pip:        9.0.1-py36_1 
    python:     3.6.0-0      
    readline:   6.2-2        
    setuptools: 27.2.0-py36_0
    sqlite:     3.13.0-0     
    tk:         8.5.18-0     
    wheel:      0.29.0-py36_0
    xz:         5.2.2-1      
    zlib:       1.2.8-3      

Proceed ([y]/n)? y

Then, conda will create the environment, download the packages and install them. In the end, it will show you how to access the environment:

# To activate this environment, use:
# > source activate test_environment
# To deactivate this environment, use:
# > source deactivate test_environment

Let’s do it then. Let’s access the environment:

source activate test_environment

Now, your terminal will indicate the environment that you are right now. The only thing left to do is install Django. We can do it through pip, which is installed in your newly created environment:

pip install django
Collecting django
  Downloading Django-1.10.4-py2.py3-none-any.whl (6.8MB)
    100% |████████████████████████████████| 6.8MB 180kB/s 
Installing collected packages: django
Successfully installed django-1.10.4

Finally, you can confirm if everything is in place and that’s it. Django is installed in an isolated environment, which will have its own configuration. Beautiful!

python -c "import django; print(django.get_version())"

To get out of this environment (and activate other one, if you want), just type the following:

source deactivate

To finish it, if you want to remove your environment, use the “conda remove” command, with the name of the environment after the “—name” argument, just like we did when creating it, and the “—all” option in the end:

conda remove --name test_environment --all

Hope this is helpful :)