如何将 cx_Freeze 可执行文件的 .pyd 和子文件夹与可执行文件分开放在一个文件夹中

Posted

技术标签:

【中文标题】如何将 cx_Freeze 可执行文件的 .pyd 和子文件夹与可执行文件分开放在一个文件夹中【英文标题】:How to put the .pyd and subfolders of a cx_Freeze executable in a single folder separately from the executable 【发布时间】:2017-06-25 16:23:03 【问题描述】:

我有一个使用cx_Freeze 构建的可执行文件,我想分发它。可执行文件有效,但它隐藏在大量其他子文件夹以及 .pyd 和 .dll 文件中的 build 文件夹中,我想清理它,理想情况下只有可执行文件和另一个文件夹,其中所有必要的文件都位于.

我正在使用cx_Freeze,因为据我所知,其他冰箱还不能使用 3.6,这是一个要求。

我遇到了this question,它详细说明了同样的问题。它的回答说当时没有办法使用已发布的版本来做到这一点,但可以在 5.x 中使用,该版本已经发布了。我无法从变更日志中识别出这一点。

【问题讨论】:

【参考方案1】:

我已经设法解决了这个问题。

该功能计划在 5.x 版本中使用,但由于内部更改,未能实现。

不过,它存在于目前尚未发布的版本中。我通过从its repository 下载cx_Freeze 的源代码并按照说明编译和安装它来解决它。现在可执行文件的文件夹中只有 3 个 DLL,其余文件位于单个 lib 文件夹中,更加干净。

【讨论】:

以上是关于如何将 cx_Freeze 可执行文件的 .pyd 和子文件夹与可执行文件分开放在一个文件夹中的主要内容,如果未能解决你的问题,请参考以下文章

使用 cx_Freeze 冻结成可执行文件后如何知道当前文件路径?

如何使 cx_freeze 可执行文件写入文本文件 [重复]

可执行文件 = 可执行文件 python 错误(尝试使用 cx_freeze 将 pygame 转换为可执行文件)

无法使用 virtualenv 和 cx_Freeze 将 pygame 转换为可执行文件

如何减少 cx_Freeze 编译的 Python 可执行文件大小?

尝试使用 cx_freeze 将 python 文件转换为可执行文件时出错