Per Debian policy,
python refers to Python 2 and
python3 refers to Python 3. Don't try to change this system-wide or you are in for the sort of trouble you already discovered.
Virtual environments allow you to run an isolated Python installation with whatever version of Python and whatever libraries you need without messing with the system Python install.
With recent Python 3,
venv is part of the standard library; with older versions, you might need to install
python3-venv or a similar package.
$HOME~$ python --version Python 2.7.11 $HOME~$ python3 -m venv myenv ... stuff happens ... $HOME~$ . ./myenv/bin/activate (myenv) $HOME~$ type python # "type" is preferred over which; see POSIX python is /home/you/myenv/bin/python (myenv) $HOME~$ python --version Python 3.5.1
A common practice is to have a separate environment for each project you work on, anyway; but if you want this to look like it's effectively system-wide for your own login, you could add the activation stanza to your
.profile or similar.
~ Answered on 2017-09-07 11:42:06