Krishnaprasad Varma bio photo

Krishnaprasad Varma

Programmer, Ruby Enthusiast, Gopher interested in Python & Javascript. Recently developed an interest in Gardening.

Email Twitter Google+

Python 2.x

Python 2.0 was released on 16 October 2000, and included many major new features including a full garbage collector and support for Unicode. With this release the development process was changed and became more transparent and community-backed.

Python 3.x

Python 3.0 (also called Python 3000 or py3k), a major, backwards-incompatible release, was released on 3 December 2008 after a long period of testing. Many of its major features have been backported to the backwards-compatible Python 2.6 and 2.7.

Python 2 Python 3
Legacy The Future
Permanently in maintenence New features will get added
Modules are made to work with the Python 2.x.
(Some of the features are not portable to Python 3.x.)
Modules are written for both 2 and 3
(most of the packages are backward compatible)
Very limited 3rd party module support Abundant 3rd party libraries
More Documentation to get started You will become an early adopter if you start using it now.
Most of the machines comes with Python 2.7 installed. (Ubuntu & MAC) You need to manually install Python 3.3
Django users will recommend Python 2.x. Django now "experimentally" supports Python 3.2


  • Your main goal should be just to learn Python. Be it 2.7 or 3.3. Once you get a command over the language, understanding both versions will be a matter of time.

  • It doesn’t really matter whether you use Python 2.7 or Python 3 If you do not use old features in Python 2.7, you can just 2to3 your code to make it run on Python 3.

  • I would recommend learning Python 3.x if you are a beginner.