py2exe and 64/32 bit windows
Ian Kelly
ian.g.kelly at gmail.com
Tue Apr 9 14:56:27 EDT 2013
On Tue, Apr 9, 2013 at 12:17 PM, Grant Edwards <invalid at invalid.invalid> wrote:
> Disclaimer: I'm a Unix guy and have been since the days of V7 on a
> PDP-11 -- I rarely use MS Windows.
>
> While I don't normally use Windows, I do occasionally have Python
> applications (written under Linux) which I'd like to distribute to
> Windows users. I've always used py2exe and Inno Setup to that, and
> it's always worked OK (after a fair bit of stumbling around).
>
> My "Windows partition" currently has a 64-bit Windows 7 Ultimate
> installation.
>
> I'm told that the executable I generate on that machine won't run on
> Win7 32-bit installations. I'm not surprised by that, but I'd like to
> provide 32-bit operability -- and I'm not sure how one does that.
>
> * If I built an executable on a 32-bit windows system using py2exe,
> would it be usable on a 64-bit install?
Yes, 64-bit Windows systems will run 32-bit executables.
> * Is there such a thing as a "fat" Windows binary that will run on
> both 32 and 64 bit systems?
With .NET applications you can choose an AnyCPU build target that will
dynamically select 32-bit or 64-bit at runtime based on the host OS,
but there is no such feature for native applications like CPython.
> * Or do you build separate 32 and 64 bit binaries and rely on the
> installer to pick the right files? [If Inno Setup can't do that, I
> can probably get somebody else to build the installer using
> something that can.]
You could do that. The easiest thing to do though is just to make
sure that your 64-bit Windows installation is using a 32-bit Python
installation. py2exe doesn't really build anything; it just bundles
your source files up with the Python interpreter, so as long as that
interpreter is 32-bit the generated exes should be able to run on
either platform.
More information about the Python-list
mailing list