我在ubuntu 12.04 32bit上使用pyinstaller 2.0和python2.7创建了可执行文件(所以我假设python也是32位)。
这是一个简单的控制台程序(没有gui),连接到TCP / IP服务器并发送帧。 它在我的ubuntu 32bit下工作,但它不能在Windows 7 32位和64位上运行。 在Win32bit上它返回错误“设备未准备好”,在Win64bit上它返回错误“应用程序有错误的架构”。
这可能是什么原因?
以下是整个应用代码的链接(很小)http://pastebin.com/qj96vpgK
答案 0 :(得分:4)
所以我整个上午一直在努力解决这个问题,我想我会发布我的发现。
Linux版本的PyInstaller无法生成.exe
或任何非Linux原生格式。为了制作Windows可执行文件,您需要使用WINE(或者至少是say,不知道如何操作),或者使用Windows计算机。
此外,如果您使用的Windows计算机是32位,则它无法生成64位二进制文件。如果您安装了64位Windows,它可以轻松制作64位二进制文件,但为了制作32位二进制文件,您需要安装32位版本的Python(以及程序所需的所有库) )。
因此,为了制作一个简单的程序来更新具有32位和64位二进制文件的LCD,我需要编写代码,将其复制到Windows 64位操作系统,安装32位和64位Python和pywin32
,并使用PyInstaller使用每个不同的Python。