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. |
- [PyInstaller] Re: Cross compiling 32 bit appli... ragini dahihande
- Re: [PyInstaller] Re: Cross compiling 32 ... Steve Barnes
- [PyInstaller] Re: Cross compiling 32 bit ... davecortesi
- Re: [PyInstaller] Re: Cross compiling... Steve Barnes
- Re: [PyInstaller] Re: Cross compi... Coyot Linden (Glenn Glazer)
- Re: [PyInstaller] Re: Cross c... Coyot Linden (Glenn Glazer)
- Re: [PyInstaller] Re: Cr... Hartmut Goebel
- Re: [PyInstaller] Re: Cr... Steve Barnes