Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建32位exe';来自64位机器上python代码的_Python - Fatal编程技术网

创建32位exe';来自64位机器上python代码的

创建32位exe';来自64位机器上python代码的,python,Python,我已经在64位机器上使用cx freeze为windows创建了一个64位程序。我使用的是Windows 7 64位家庭高级版。py2exe不能工作,因为据我所知,它还不能与python 3.2.2一起工作。我是否必须在cx freeze中指定一个选项,以便以32位而不是64位进行编译 谢谢 要生成32位可执行文件,您需要安装32位版本的Python和cx\u freeze。我知道的所有“从Python代码生成可执行文件”方法基本上都是创建一个文件,将Python解释器与要在单个文件中执行的Py

我已经在64位机器上使用cx freeze为windows创建了一个64位程序。我使用的是Windows 7 64位家庭高级版。py2exe不能工作,因为据我所知,它还不能与python 3.2.2一起工作。我是否必须在cx freeze中指定一个选项,以便以32位而不是64位进行编译


谢谢

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

我知道的所有“从Python代码生成可执行文件”方法基本上都是创建一个文件,将Python解释器与要在单个文件中执行的Python代码捆绑在一起。这与将C代码编译成可执行文件完全不同;Python几乎不可能以任何比将Python字节码粘贴到Python解释器的机器代码上更有用的方式编译成机器代码


这就是为什么不能从64位Python安装中生成32位exe的原因;输出文件中没有可嵌入的32位解释器。

除了已经给出的答案外:

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


    希望这能有所帮助。

    您安装了32位Python吗?不,我应该先卸载其他安装吗?我还将安装32位cx freeze。对吗?我怀疑你需要卸载任何东西。我想你们需要32位版本的Python和cx freeze,但我对后者一无所知。我能把它们安装在不同的目录中吗?