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

Chris Angelico rosuav at
Fri Dec 27 06:14:31 CET 2013

On Fri, Dec 27, 2013 at 4:07 PM, Roy Smith <roy at> wrote:
> In article <XT7vu.64127$Qi4.25759 at fx11.iad>,
>  Travis McGee <nobody at> 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.
> The future is indeed Python 3.  The problem with the future is that it's
> not here yet.

Or to be more precise, is not exclusively here yet. The past is Python
2; the future is Python 3. The present is both Pythons, running in
parallel; if you're lucky, that's 2.7 and the latest 3.x, though not
everyone has that luxury.

For new code, aim for Python 3 unless you have a good reason to go for
Python 2. Most Linux distributions come with Python 2 under the name
"python", and Python 3 under the name "python3"; stick with that and
you'll be fairly safe. Or, if you can depend on your users having a
recent Py3 installed, you can use the launcher packaged with 3.3 and
later, which can intelligently figure out versioning.


More information about the Python-list mailing list