[Python-ideas] win32 extensions

Guido van Rossum guido at python.org
Tue Sep 13 18:51:03 CEST 2011

On Mon, Sep 12, 2011 at 9:26 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> On Tue, Sep 13, 2011 at 1:22 PM, Ben Finney <ben+python at benfinney.id.au> wrote:
>> Massimo Di Pierro <massimo.dipierro at gmail.com> writes:
>>> Just a question. What is the reason the win32 extensions are shipped
>>> separately?
>> This might better be asked on the developers's forum; this forum is for
>> discussing changes to Python.
> 'Why is it so?' questions are perfectly reasonable fodder for
> python-ideas (since they're usually a precursor to "let's do it
> differently"). Part of the reason this list exists is so
> misunderstandings of why Python is the way it is can be clarified here
> without generating traffic on the main development list.

(Of course, for some folks python-ideas is the only list they read. :-)

Regarding the original question, it's definitely not a licensing
issue. Mark originally intended for pywin32 to be merged back into
core Python, and I recall looking at this option seriously. I believe
it was not a single issue that held it back, but a combination of
factors: sheer size, coding style, robustness of the code (you can
definitely cause crashes by passing bad arguments to pywin32 code),
the dependency on a specific platform and compiler, the fact that no
other core developer knew the codebase, and the different development
speeds of core Python and pywin32. There may also have been some
qualms about who was to build the installer. In the end we
compromised: the core Python distro does not include pywin32all, but
the download instructions contain a recommendation. For example, the
Python 2.2 download page
(http://www.python.org/download/releases/2.2/) says: "Windows users
may also be interested in Mark Hammond's _win32all_, a collection of
Windows-specific extensions including COM support and Pythonwin, an
IDE built using Windows components." I don't know why that was dropped
from the main release page for 2.3 and later; the same recommendation
is still found on http://www.python.org/download/windows/ which is
linked from a tab labeled "Windows" on all release pages.

I assume that the development speed on pywin32 has slowed down to the
point where we could consider including it in the core Windows
installer. But I'm not sure if the logistics of building and testing
the installer easily support this.

There's also the impression (possibly wrong) that pywin32/win32all is
somewhat dated, and hasn't changed much since the glory days of
Windows 98. But actual developers using Python on Windows should be
the judge of that.

--Guido van Rossum (python.org/~guido)

More information about the Python-ideas mailing list