[Python-Dev] Detecting 64bit Windows (was RE: Reminder: last alphas next Wednesday 07-May-2008)

Mark Hammond mhammond at skippinet.com.au
Fri May 2 10:46:27 CEST 2008


> -On [20080502 07:57], Mark Hammond (mhammond at skippinet.com.au) wrote:
> >The best way I can find for the win32 API to tell you this is a
> combination
> >of the above and the IsWow64Process() (which returns True if you are a
> >32bit process on a 64bit platform)
> 
> Support for IsWow64Process() is quite interesting in itself, so if you
> can
> add support for that, cool. :)

OK - I'll make a patch for this tomorrow (unless someone pipes up suggesting it's not a great idea, or that ctypes should be used, etc)

> >I'd be interested to know why you care though - ie, how will the
> behavior
> >of your programs depend on that?
> 
> For Genshi I was mucking around with setuptools to create Windows eggs.
> My machine at home is an AMD64 box. I have Python 2.5 installed, which is
> 64 bits on Windows x64.
> 
> On a normal Unix box an egg for a 32 bits system will result in
> something like Genshi-0.5dev_r847-py2.5-linux-i686.egg. On an 64-bits 
> system we get
> Genshi-0.5dev_r847-py2.5-linux-x86_64.egg. This distinction is
> important since Genshi includes a _speedups.so which is compiled 
> to either 32 or 64-bits.

Yeah - see recent changes to support cross-compilation in distutils - particularly http://bugs.python.org/issue2513, and a grep for 'plat_name' in Distutils/command might also help.
 
> So from what I gather we have no unique way to refer to 32-bits or 64-
> bits Python aside from the semi-adequate platform.architecture()[0].

>From the above, it's not clear what problem you have other than arranging for setuptools to select the correct binaries and generate an egg with a distinction in the filename.  Ie, why isn't platform.architecture() (or possibly distutils.util.get_platform) adequate to have setuptools "do the right thing" in your examples?  Unfortunately though, I don't know enough about setuptools to suggest how this might happen.  If you go this route, please followup on the distutils list (I must have missed your message there while I was on vacation)

Cheers,

Mark



More information about the Python-Dev mailing list