This is an old revision of the document!
Python Development Environment
As most of the time, we'll start with our Debian Template VM
Python Versions
Although Python 3 is the current version, many applications and scripts are still depending on Python 2.
Also Python 2 is the standard installed version on Debian 8 Jessie
> python -V Python 2.7.9
To make things clearer one could use the python2
command, to have a look at the available commands:
> ls -la /usr/bin | grep -ie python -rwxr-xr-x 1 root root 1056 Mar 16 2015 dh_python2 lrwxrwxrwx 1 root root 23 Jun 29 2016 pdb2.7 -> ../lib/python2.7/pdb.py lrwxrwxrwx 1 root root 9 Mar 16 2015 python -> python2.7 lrwxrwxrwx 1 root root 9 Mar 16 2015 python2 -> python2.7 -rwxr-xr-x 1 root root 3781768 Jun 29 2016 python2.7 lrwxrwxrwx 1 root root 29 Mar 16 2015 pyversions -> ../share/python/pyversions.py
It seems that, contrary to most other distributions, having Python (2.7) installed on Debian doesn't imply pip
being available, let's install it:
PIP (2)
> sudo apt-get install python-pip python-dev build-essential > pip -V pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
Python 3 + PIP (3)
> sudo apt-get install python3 python3-dev python3-pip
We now have the Python and pip versions available:
> python -V Python 2.7.9 > pip -V pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7) > python2 -V Python 2.7.9 > pip2 -V pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7) > python3 -V Python 3.4.2 > pip3 -V pip 1.5.6 from /usr/lib/python3/dist-packages (python 3.4)
Notice that python
and python2
are the same, this is also true for pip
and pip2
.
Virtual Environments
Virtual Environments are used to isolate project python versions and package dependencies.
As stated before, we'll install virtualenv
for User only in order to allow coexistence of Python2 and Python3. As the virtualenv binary will bear the same name for 2 & 3, we'll rename them on the go:
Virtualenv 2
> pip install --user virtualenv > mv ~/.local/bin ~/.local/lib/python2.7/ > nano ~/.bashrc ADD: # Python virtualenv alias virtualenv3="~/.local/lib/python2.7/bin/virtualenv" > source ~/.bashrc > virtualenv2 --version 15.1.0
To create a new directory for a virtualenv, and then activate it:
> virtualenv2 env_name > source env_name/bin/activate > cd env_name
To do the same in an existing directory, first move to this location and:
> cd /path/to/my/env > virtualenv2 . > source ./bin/activate
Virtualenv 3
Please note that in the case of virtualenv 15.1.0
, the version seems to be compatible with both Python2 and Python3, so it might not be necessary to duplicate the operation, but we'll go for it anyways.
> pip3 install --user virtualenv > nano ~/.bashrc ADD: alias virtualenv3='~/.local/lib/python3.4/bin/virtualenv' > source .bashrc > virtualenv3 --version 15.1.0