在64位机器上从Python代码创建32位exe文件

12 投票
3 回答
17720 浏览
提问于 2025-04-17 05:32

我已经在一台64位的电脑上,用cx freeze创建了一个64位的Windows程序。我使用的是64位的Windows 7家庭高级版。因为我了解到py2exe不支持Python 3.2.2,所以它无法工作。请问在使用cx freeze时,有没有什么选项可以让我编译成32位的程序,而不是64位的呢?

谢谢!

3 个回答

0

我知道的所有“把Python代码变成可执行文件”的方法,基本上都是把Python解释器和你想执行的Python代码打包到一个文件里。这和把C代码编译成可执行文件完全不同;因为Python几乎不可能像C那样编译成机器代码,除了把Python的字节码和Python解释器的机器代码粘在一起。

所以,这几乎可以肯定是你不能从64位的Python安装中生成32位的exe文件的原因;因为没有32位的解释器可以嵌入到输出文件里。

4

除了已经给出的答案之外:

  1. 如果你想把Python代码编译成适合不同架构(比如x86和x64)的版本,首先要在你的电脑上安装这两种版本的Python,也就是x86和x64版本的Python,并且要为这两个Python版本安装所有需要的模块和库,确保它们都有相同的(必要的)包。
  2. 接下来,你需要检查一下你的全局操作系统环境是否配置正确。在Windows系统中,以下环境变量需要指向你想要编译的Python安装位置,你需要知道它们应该指向哪里:
    • %PATH%
    • %PYTHONHOME%
    • %PYTHONPATH%
  3. 一旦你正确设置了这些环境变量,记得重新打开任何终端,以确保加载了新的环境(如果需要,可以重新登录你的Windows会话,以便正确刷新环境),然后你就可以运行你的cx_freeze和其他与Python相关的构建操作,来生成适合该架构的最终版本。
  4. 完成这些构建后,重新从第2步开始,切换到下一个Python安装并进行构建。

为了加快环境切换的过程,我通常会把这些步骤写成脚本,或者使用虚拟机。

希望这些信息对你有帮助。

8

要生成32位的可执行文件,你需要安装32位版本的Python和cx_freeze。

撰写回答