2

是否有 py2exe 无法处理的主要/常见/重要包?

我目前正在研究从将使用 Tkinter、一些 Excel 文件读取模块、NumPy、SciPy 和 matplotlib 的 Python 程序创建 .exe 的可能性:尝试使用 py2exe 实现这一点是否现实?

4

2 回答 2

3

我经常使用 Scipy、matplotlib、wxpython 和 win32com 或 Machin 的 xlrd/xlwt 模块构建 py2exe 单文件可执行文件。没用过 Tkinter 但应该不是问题,可能 wxpython 比较挑剔。

在构建可执行文件之前和之后,我发现 numpy/scipy、matplotlib 和 wxpython 存在一些问题,但在你知道该怎么做之后,它可以顺利运行。

一些问题:

matplotlib 需要指出一些辅助档案在哪里。您需要添加到您的 setup.py

datafiles = matplotlib.get_py2exe_datafiles()

在执行 py2exe 可执行文件时,由于模块中的一些表达式,numpy/scipy 给了我一些问题。Numpy 有一些行,例如:

__doc__ += "something more"

__doc__为 None 时失败。
为此,我必须手动修改 numpy 脚本(包括 if 脚本)。不知道新版本是否解决了这个问题。

wxpython 通常是问题的根源,因为某些必需的 microsoft dll 必须存在于计算机中才能工作。只是你必须小心确保你在你的包中提供它们,或者至少防止你的用户知道这个问题。

一些有用的提示也可以在py2exewxpython wikis中找到

于 2010-05-26T12:17:57.193 回答
2

尝试是现实的,当然。您可能会遇到一些问题,但我怀疑您会遇到障碍,尤其是对于非常常见的软件包。

您可以在此处快速了解 py2exe 与各种库的配合情况:

http://www.py2exe.org/index.cgi/WorkingWithVariousPackagesAndModules

对于此处未列出的任何内容,请启动快速谷歌搜索py2exe <package-name>

于 2010-05-26T12:17:38.343 回答