加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在Windows 7 x64上使用py2exe进行编译问题

发布时间:2020-12-14 02:03:39 所属栏目:Windows 来源:网络整理
导读:我正在使用py2exe将我的脚本编译成一个在 Windows上运行的exe文件,但是我的操作系统是基于我的操作系统,即Window 7 x64.我使用execmaker.py py2exe在cmd中运行以下脚本: from distutils.core import setupimport py2exeincludes = []excludes = ['_gtkagg',
我正在使用py2exe将我的脚本编译成一个在 Windows上运行的exe文件,但是我的操作系统是基于我的操作系统,即Window 7 x64.我使用execmaker.py py2exe在cmd中运行以下脚本:

from distutils.core import setup
import py2exe

includes = []
excludes = ['_gtkagg','_tkagg','bsddb','curses','email','pywin.debugger','pywin.debugger.dbgcon','pywin.dialogs','tcl','Tkconstants','Tkinter']
packages = []
dll_excludes = ['libgdk-win32-2.0-0.dll','libgobject-2.0-0.dll','tcl84.dll','tk84.dll']

setup(
    options = {"py2exe": {"compressed": 2,"optimize": 2,"includes": includes,"excludes": excludes,"packages": packages,"dll_excludes": dll_excludes,"bundle_files": 1,"dist_dir": "dist","xref": False,"skip_archive": False,"ascii": False,"custom_boot_script": '',}
              },windows=['My_Script.py'] #this is the name of the script I'm compiling to exe

)

我正在编译成exe的实际脚本并不重要,因为当我使用bundle_files编译它时它完全正常:3,它不捆绑任何文件并在文件夹中留下~200 .pyo文件.

让我们来看看问题的中心:当我在Win 7 x64上时,我安装了64位版本的Python 2.7.5.当我下载到execmaker.py和My_Script.py文件所在的文件并在cmd(execmaker.py py2exe)中运行它时,我收到一条错误消息,内容如下:
错误:win64上尚不支持bundle-files 1,我认为它不会捆绑文件,因为我的操作系统是64位的.我想也许这是一个问题,因为我安装了64位python,但是当我卸载它时,我收到错误DLL加载失败:%1不是有效的Win32应用程序.

DLL加载错误是由64位Windows上运行32位python引起的.所以基本上,它不适用于32位或64位python,因为我正在运行64位Windows.有没有解决方法,或者我是否需要安装python和我在32位机器上使用的所有模块来进行编译?

感谢您的帮助,并通过这个非常长的问题与我联系.

编辑 – 解决方案:我做了更多研究,没有提出任何建议.现在,除非用更有效的方法回答这个问题,我想在分区上或通过Parallels安装32位操作系统(我就是这样做的)就足够了.

解决方法

我想现在为时已晚,但是对于下一个陷入这艘船的灵魂来说,在我看来,更有效的方法是从oracle免费安装virtualbox(vb),然后在其上安装32位操作系统.这样你就不必对你的硬盘驱动器进行分区或者没有分区,你可以毫无风险地卸载vb,就像任何其他程序一样.

另一个选择是尝试使用pyinstaller.我只用它来为linux系统制作可执行文件,但我认为你也可以在windows上使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读