Python3.4 Py2exe,错误-名称'WinDLL'未定义。

3

我使用Ubuntu,Python 3.4,并尝试使用py2exe将我的py脚本编译成exe。

不幸的是,当我尝试使用"build_exe"命令时,它会生成错误!有人能帮助我解决这个问题或者建议另一种方法来编译py项目为exe吗?

错误代码:

NameError: name 'WinDLL' is not define.

enter image description here


不要链接到屏幕截图,而是直接粘贴错误文本。 - Daniel Roseman
好的,我已经插入了错误,但它也在标题中。 - ngtest
2个回答

6

py2exe适用于Windows操作系统...

在Linux操作系统中,你可以尝试使用PyInstaller:
http://www.pyinstaller.org/

现在PyInstaller在Linux下运行时可以生成Windows可执行文件。详见文档。


PyInstaller很遗憾不支持Python 3.4。 - ngtest
@CodeNinja,也许我没理解清楚,但该工具的常见问题解答页面上说在Linux下运行时无法打包Windows二进制文件。 https://github.com/pyinstaller/pyinstaller/wiki/FAQ你提到的交叉编译链接已经失效了... http://www.pyinstaller.org/browser/tags/1.4/doc/CHANGES.txt - chaiyachaiya

0

py2exe模块需要在命令提示符(也称为Windows终端)中运行,以生成Windows可执行文件,因为就像pyinstaller一样,"它们使用操作系统支持来加载动态库,从而确保完全兼容性". 这就是为什么在bash shell中使用py2exe模块时会出现“WinDLL未定义”的错误。

py2exe 可以在 Python-3.4 之前的版本中使用,而 pyinstaller 可以在 Python-3.7 之前的版本中使用。撰写本文时的最新版本是 3.8。使用命令提示符中的 Python 模块 virtualenv 来运行适当的 Python 版本(而不替换当前的 Python 设置),并创建可执行文件。这是我的代码答案。--> 确保在安装时将 Python 添加到 Windows 路径中,这样您就可以在命令提示符中使用 pippython 命令。否则,您必须将我的答案中的这些命令替换为它们的完整路径,例如 C:\Users\jakethefinn\python37\pip.exe 和 C:\Users\jakethefinn\python37\python.exe。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接