So, what's the real story on Python 2 vs Python 3?

Ned Batchelder ned at
Fri Dec 27 13:13:44 CET 2013

On 12/27/13 12:04 AM, Travis McGee wrote:
> The site says that the future is Python 3, yet whenever I try
> something new in Python, such as Tkinter which I am learning now,
> everything seems to default to Python 2. By this I mean that, whenever I
> find that I need to install another package, it shows up as Python 2
> unless I explicitly specify Python 3.
> What's the deal? If I want to make a distributable software package,
> should it be 2 or 3? Enquiring minds want to know.

Choosing between 2 and 3 should be done the same way any version 
decision is made: examine all of your dependencies (libraries, help 
online, skilled helpers available, hosting options, books, etc), then 
choose the highest version that supports them.  Some people still find 
that the answer is 2, but many are finding that it is now 3.  There's a 
lot of FUD about Python 3, don't listen to it.

Certainly don't be thrown by the "default" of 2.  It doesn't matter what 
most people do, or how your operating system is configured, what matters 
is whether you have what you need.

Note that on sensible operating systems, "python" will continue to mean 
Python 2, and "python3" will mean Python 3.  This will help perpetuate 
the notion that Python 3 is the outlier, but it's the only way to keep 
software working properly.  Don't let it color your perceptions.

If you are going to support both 2 and 3, in addition to the other good 
suggestions in this thread, the six module on PyPI can help with the 

Ned Batchelder,

More information about the Python-list mailing list