我该如何使用cx_freeze包含一个文件夹?

23 投票
1 回答
21656 浏览
提问于 2025-04-17 17:07

我正在使用cx_freeze来发布我的应用程序。我想要包含一个整个文件夹,因为单独添加文件并不会把它们放在一个文件夹里。我该怎么做才能把一个文件夹包含进去呢?

1 个回答

34

你需要为构建选项设置一个包含文件的参数。这个设置有几种方法,我会给你展示我配置的一部分。这里描述的内容是针对一个特定的文件和一个特定的目标位置。我觉得你也可以像这样设置一个路径,不过我还没有测试过这个方法。

补充:我已经测试过这个,所以请根据你的项目选择合适的方法。

buildOptions = dict(include_files = [(absolute_path_to_your_file,'final_filename')]) #single file, absolute path.

buildOptions = dict(include_files = ['your_folder/']) #folder,relative path. Use tuple like in the single file to set a absolute path.

setup(
         name = "appname",
         version = "1.0",
         description = "description",
         author = "your name",
         options = dict(build_exe = buildOptions),
         executables = executables)

另外,看看这个话题。它可能涉及到同样的问题:如何在使用 cx_freeze 时打包其他文件?

撰写回答