在64位计算机上从python代码创建32位exe

时间:2011-11-02 23:50:24

标签: python

我已经在64位计算机上使用cx freeze为Windows创建了一个64位程序。我使用的是Windows 7 64位Home premium。 py2exe无法正常工作,因为据我所知它还不能与python 3.2.2一起使用。是否有一个选项我必须在cx freeze中指定以32位而不是64位编译。

谢谢!

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

除了已经给出的答案:

  1. 编译/冻结不同体系结构(x86 / x64),安装 x86和x64版本的python 的python代码到您的系统和<的相应变体< strong>所有必需的模块和库到你的python安装,所以两个安装都安装了相同的(必需的)软件包。
  2. 下一步是检查您的全局操作系统环境 是否正确配置。以下Windows环境变量需要指向要冻结的Python的相应安装,您应该知道他们需要指向哪些位置:
    • %PATH%
    • %PYTHONHOME%
    • %PYTHONPATH%
  3. 正确设置后,重新打开所有终端以确保已加载新环境(如有必要,请重新登录Windows会话以正确刷新环境并且你已准备好运行你的cx_freeze 以及任何其他与python相关的构建操作来获得该架构的最终构建。
  4. 完成这些构建后,重新运行第2步中的流程,将Windows环境更改为下一个python安装和构建。
  5. 为了加快环境变化过程,我要么编写这些步骤的脚本,要么使用VM。

    希望这有帮助。

答案 2 :(得分:0)

我所知道的所有“从Python代码生成可执行文件”的方法基本上创建了一个文件,它将Python解释器与要在单个文件中执行的Python代码捆绑在一起。完全没有像将C代码编译为可执行文件一样; Python只是不可能以任何明显更有用的方式编译到机器代码,而不仅仅是将Python字节码粘贴到Python解释器的机器代码上。

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