【问题标题】:Pyinstaller, how to make 32bit and 64bit .exe on 32bit linux?Pyinstaller,如何在 32 位 Linux 上制作 32 位和 64 位 .exe?
【发布时间】:2012-09-17 21:57:02
【问题描述】:

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

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

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

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

【问题讨论】:

  • 这个问题的题目说明了如何在 32bit linux 上为 windows 创建可执行文件。这与问题无关,可能与低级插座模块的可移植性有关。在不知道机器 192.168.0.160 上的端口 1204 上预期什么样的服务器的情况下测试运行您的代码有点困难。我在全新安装 WinXP 时收到“[错误] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应”。
  • 您必须在打包应用程序应该运行的系统上分别为每个系统构建。对于您的问题,不清楚您是否这样做了,或者尝试在 Windows 上运行 Unbuntu 包,这保证不会说话。

标签: windows-7 python-2.7 32bit-64bit exe pyinstaller


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-10-18
    • 2018-02-12
    • 2016-01-29
    • 2012-03-12
    • 2014-01-12
    • 2013-05-19
    • 2014-03-14
    • 2012-03-19
    • 1970-01-01
    相关资源
    最近更新 更多