如何从Python 3.3使用cx_freeze创建一个一体化exe文件

10 投票
2 回答
8793 浏览
提问于 2025-04-17 16:31

我写了一个图形界面的Python脚本,想和同事们分享,以提高工作效率。我需要一种方法,把所有东西都放在一个文件或文件夹里,方便他们使用。我试过标准的方法

python setup.py build

但是这样做并没有包含所有内容(我在他们的电脑上测试过,结果只是弹出一个快速的命令提示符,然后就关闭了)。

在我自己的电脑上运行得很好,但我安装了其他一些东西(比如Python)。

我的setup.py文件内容如下:

import sys
from cx_Freeze import setup, Executable

executables = [
        Executable("Blah.py")
]

buildOptions = dict(
        compressed = True,
        includes = ["Blah"],
        path = sys.path + ["modules"])

setup(
        name = "Blah",
        version = "0.1",
        description = "Blah",
        options = dict(build_exe = buildOptions),
        executables = executables)

我已经花了好几个小时在网上搜索,但没有找到解决办法。我觉得应该有办法把所有需要的文件都包含进去,只是不知道该怎么做。任何帮助都非常感谢。谢谢。

2 个回答

0

你可以试试pynsist。这是一个简单的方法,可以把Python应用打包成Windows可用的程序,而且它提供了各种图形界面工具包的示例:

它不依赖于setup.py,而是使用一个单独的配置文件来获取所有需要的依赖项。

代码库地址:https://github.com/takluyver/pynsist

4

我觉得pyinstaller是你最好的选择。它确实有一个Python3的版本:

py2exe - 生成单个可执行文件

https://github.com/pyinstaller/pyinstaller/wiki

你可以通过这个命令来安装:https://github.com/pyinstaller/pyinstaller/archive/python3.zip

撰写回答