What's New in Python on Windows

Audience level:
Core Python (Language, Stdlib)
March 11th 1:30 p.m. – 2:10 p.m.


With nearly 1.5 million downloads per month, the CPython installers for Windows account for a huge amount of the traffic through python.org, and they're the most common way for Windows users to obtain Python. Take a look at what's going on with Python on Windows and see what the road ahead looks like for Python 3.3.


It's often said that we've passed the point where we're surprised about where Python is being used. From satellites out in space to fighter jets much closer to earth, Python is everywhere, so it's no surprise it appears on Windows desktops. However, did you know CPython's Windows installers are downloaded almost 1.5 million times every month? Let's take a look at what's going into nearly 18 million downloads per year, especially the upcoming CPython 3.3.

The Download Numbers

A look into the python.org download numbers shows some interesting trends (based on an in-progress sample), including the doubling of 3.x downloads with the release of 3.2. Let's take a look at what the release calendar means for download rates, and what the future looks like for 3.3.

Installer Changes

For years, users have been asking for Python's addition to the system path and countless guides have been written to help users figure out how to do that. The rise of freely available Python education materials has steadily increased the amount of first-timers around the community, many whom see immediate failure by typing "python" at a command prompt only to get an error message. Python should be as helpful as possible and provide sensible options at install time, and with Python 3.3, we're bringing you the ability to add Python to the system path, complete with a quick demo and explanation of the options.

New and Recent Features

As nearly all of the CPython developers are on Linux-based systems, features tend to show up there first while Windows plays catch-up. Python 3.2 added Windows implementations of os.symlink for Windows Vista and beyond, os.kill using control handlers, and several others, and 3.3 will try to fill in more gaps.

PEP 3151 Changes to WindowsError

If you've written cross-platform code that needs to handle WindowsError, you've probably done a few dances to properly handle it. PEP 3151 reworks the OS and and IO exception hierarchy and makes some changes to how WindowsError works, so we'll look into what it means for your code.

PEP 397 Launcher

Bringing Linux-like shebang functionality to a Windows computer near you. The ability to launch the proper 2 or 3 interpreter based on a hint in your code is just another way to ease startup issues for users, so we'll take a look at what's going on there.

Alternative Implementations on Windows (quick mention, likely IronPython focused)

IronPython is caught up on the 2.7 line and working towards a 3.x release.