Python and binary compatibility

Christian Heimes lists at cheimes.de
Fri Jan 25 09:31:52 CET 2008


Ambush Commander wrote:
> The primary problem involves binary extensions to the Python
> interpreter itself, which Mercurial uses. The only C compiler I have
> on my machine is Visual Studio 2005 Express, but Python's binary
> distribution was compiled with VS 2003, so the installer refuses to
> compile the package. I understand that Python 3 uses VS 2008, but
> that's no good for me as it will probably break all of the scripts.

Python 2.6 and 3.0 will use VS 2008. It's not recommended to compile
Python extension with a different compiler but you can compile the
extension with 2003. It will work as long as the extensions don't
exchange file handlers or other handlers. Google for "Mixing CRTs" will
reveal more details.

> So, I'm trying to figure out what I should do. Mercurial's binary
> distribution was built using MingW, and I do have Cygwin lying around
> but I'd like to go for the "native" solution for the most speed. If I
> use MingW, I might as well use their pre-packaged binary. I could
> recompile Python with MSVC 2005, but I expect that will be its own can
> of worms. ActiveState is closed source and appears to have the wrong
> MSVC dependencies. All my troubles could apparently be fixed if I
> could acquire a copy of VS 2003, but Microsoft has made it incredibly
> difficult to find the download for it (I don't think it exists).

You can use MinGW32 to compile the extension, too. Or use the free
toolchain as described at
http://wiki.python.org/moin/Building_Python_with_the_free_MS_C_Toolkit

Christian




More information about the Python-list mailing list