Debian – How to Install or Upgrade to the Latest Python Version

debianpackage-managementpython

I'm still new to Linux, so I'm still trying to understand where executables and their libraries are and how to install packages, so I have Debian Wheezy 7.3 which has these Python versions:

  • Python 2.7.3 (default)
  • Python 2.6.8

So in the directory /usr/bin/ there are these files that I can call from the terminal:

  • python (which is a link to python2.7)
  • python2 (also a link to python2.7)
  • python2.6 (Python 2.6.8 executable)
  • python2.7 (Python 2.7.3 executable)

and in /usr/lib/, the main folders:

  • python2.6
  • python2.7

Currently the latest version of Python is 2.7.6 which I want to install, but I don't know how, I tried using apt-get:

apt-get install python

it outputs python is already the newest version..

So how can I install the latest version of Python ? on the Python download page there is the source tarball, how can I use that to install it separately like having another folder in /usr/lib/ like python2.7.6 and make the python link in /usr/bin/ point to the new executable, or maybe upgrade the current version if it won't break anything.

Best Answer

You probably are looking for virtualenv or pyenv or some other non-system-wide method to install Python. The method using APT (Advance Package Tool) and dpkg, ensures that all parts of the system are working in harmony, so you maybe want to install python in a separated path, hidden of all the other programs that you can call at will, which is the purpose of pyenv/virtualenv. This answers how to install the latest version of python without breaking the system.

BTW, you can check out the latest version of python that Debian in madison, while the latest version of python 2 at the date is the one you pointed out:

➜  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(pythonbrew is not longer maintained).

Related Question