5

我在 ubuntu 12.04 32 位上使用 pyinstaller 2.0 和 python2.7 创建了可执行文件(所以我假设 python 也是 32 位的)。

这是一个简单的控制台程序(无 gui),连接到 TCP/IP 服务器并发送帧。它可以在我的 ubuntu 32 位下运行,但不能在 Windows 7 32 位和 64 位上运行。在 Win32bit 上返回错误“设备未准备好”,在 Win64bit 上返回错误“应用程序架构错误”。

这可能是什么原因造成的?

这是整个应用程序代码的链接(很小)http://pastebin.com/qj96vpgK

4

1 回答 1

7

Linux 版本的 PyInstaller 不能制作.exes 或任何非 Linux 原生格式。为了使 Windows 可执行文件,您需要使用 WINE(或者至少他们,但我不知道该怎么做),或者使用 Windows 计算机。

此外,如果您使用的 Windows 计算机是 32 位的,则它无法生成 64 位二进制文​​件。如果您安装的是 64 位 Windows,它可以轻松制作 64 位二进制文​​件,但要制作 32 位二进制文​​件,您需要安装 32 位版本的 Python(以及程序所需的所有库) )。

因此,一种为给定程序制作 32 位和 64 位可执行文件的方法,将代码复制到 Windows 64 位操作系统,安装 32 和 64 位 Python 和pywin32,并使用每个不同的 Python 使用 PyInstaller。

于 2014-07-09T18:51:49.060 回答