On 12/29/16 08:59, Steve Barnes wrote:
On 29/12/2016 15:52, davecortesi wrote:
     For several years now I have been using a Windows 7 64 bit machine to
    build python based code that runs on Windows 32 bit machines
    elsewhere -
    All I do is to use the 32 bit version of python to do it.


It's good that works but you really should not count on it. The manual
is specific about not being a "cross-compiler" and says if you want to
bundle for a specific OS you need to run on that OS. My point being, if
it ever breaks, you won't get a fix.
Building 32 bit Windows Python Applications on a 64 bit platform is not 
cross compiling when you are running 32 bit python on that platform - 32 
bit Python under Windows runs with exactly the same instruction set and 
memory model regardless of running on Windows 64 bit or 32 bit.

pyInstaller, (or py2exe or cxFreeze), embed the local copy of python, 
and the required libraries, into the created package and the 32 bit 
windows python installation is the same regardless of being installed on 
a 32 bit or 64 bit machine.  What you cannot do is deploy applications 
built with 64 bit Windows python, (and it's libraries), on 32 bit 
Windows machines. Needless say 32 bit deployments can also run on 64 bit 
machines but it is a very good idea to run your tests using the exact 
same version(s) of python that you are going to deploy with.

If you are even slightly worried you can build & test in a virtual 
machine under vagrant or virtualbox, test VMs can be found at 
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ you just 
have to install python and the libraries that you need before your test 
& build.


Based on this thread, we tried to solve a problem:

Right now, all of our software clients are 32 bit C++ executables, but we are making the migration to 64 bit for those that have 64 bit systems.  Since we don't know on first download of an updated client whether the client host is 32 or 64, we wanted to download a 32 bit version of the our python shim which would then detect the correct bitness and ask our servers for the right thing.

Unfortunately we seem to be running into problems with this scheme.   On a 64bit host, we have both 32 and 64 bit python and pyinstaller installed.  Using the 32 bit version, we compiled our scripts and got "Failed to execute script" when we ran them. 

I then wrote a hello world script (e.g., just the shebang and the print) and while python hello_world.py works, hello_world.exe just exits with no output.

Suggestions on how to solve this welcome.

Best,

coyot
GLENN GLAZER | Senior Software Engineer
m:
562.305.2920 | email:  co...@lindenlab.com | Second Life: Coyot Linden
LINDEN LAB | Create Virtual Experiences

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller+unsubscr...@googlegroups.com.
To post to this group, send email to pyinstaller@googlegroups.com.
Visit this group at https://groups.google.com/group/pyinstaller.
For more options, visit https://groups.google.com/d/optout.

Reply via email to