Cx_freeze ---所有用户都需要python吗?

时间:2012-06-12 19:48:49

标签: python cx-freeze

我刚刚用cx_Freeze创建了一个exe并自豪地将它交给了一个同事.....它很快就崩溃了(“应用程序无法正常启动”)我很想知道他是否必须有python已经安装并准备好去运行我的exe或者是否是我应该担心的其他事情。 (如果是这样的话,我会做更多的研究)

我正在使用Python 2.7 64位,Wxpython和Cx_Freeze 4.2.7

更新:

所以我发现下载Python 2.7 DOES确实解决了这个问题 - 但这不是我真正想要的。我听说使用在setup.py脚本中选择的正确选项,我可以真正创建一个独立的站点 - 是否有人知道我该怎么做? Filesize不是对象。

2 个答案:

答案 0 :(得分:2)

不,他不需要安装Python - cx_Freeze应该将Python DLL复制到build文件夹中。运行时,确保build文件夹中的所有文件仍然使用EXE。

但是,他可能需要安装Python所需的Microsoft“Visual C ++可再发行组件”。我不认为 cx_Freeze可以自动包含,出于法律原因(但我不是律师,我很高兴被证明是错的)。详细信息在文档中:

http://cx_freeze.readthedocs.org/en/latest/overview.html#microsoft-visual-c-2008-redistributable-package

或者您的应用程序捆绑可能还有其他问题。我不知道会导致该错误消息的原因。

答案 1 :(得分:2)

cx_Freeze的目的是使用户不需要安装Python。但有时可能会有一些DLL依赖项未被cx_Freeze自动排序。例如,请参阅我最近的question and answer for "ImportError: DLL load failed when importing win32clipboard in application frozen with cx_Freeze"

但是,如果您收到消息“应用程序无法正确启动”,那么听起来好像是一些隐式链接DLL依赖项。尝试使用Dependency Walker来追踪缺少的DLL。让我们知道您的结果。