【问题标题】:How can I include a folder with cx_freeze?如何在 cx_freeze 中包含一个文件夹?
【发布时间】:2013-02-11 07:44:35
【问题描述】:

我正在使用 cx_freeze 来部署我的应用程序。我想包含整个目录,因为包含单个文件不会将它们放在文件夹中。如何包含文件夹?

【问题讨论】:

    标签: python cx-freeze


    【解决方案1】:

    您必须为构建选项设置包含文件参数。您可以通过不同的方式执行此操作,但我将展示我的配置的一部分。我在这里描述的是一个特定的文件和一个特定的目的地。我想你也可以设置这样的路径,但我还没有测试过。

    编辑:对此进行了测试,因此请为您的项目选择正确的方法。

    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)
    

    也看看这个话题。它解决了同样的问题:How can i bundle other files when using cx_freeze?

    【讨论】:

    • 看不到如何设置路径?
    • 您必须将 absolute_path_to_your_file 替换为要包含的源文件的目标位置。绝对路径大多是这样的:“C://your_folder/a_subfolder”在基于 Windows 的系统上。
    • 你知道包含整个文件夹的方法吗?
    • 我刚刚为你测试了这个,它真的很简单。我将用相对路径来证明这一点。所以我的文件夹“testfolder”在项目文件夹中。使用 --> include_files = ['testfolder/'], -- 它会起作用。现在我的测试文件夹(包括其中的所有文件)都包含在构建中。您也可以在绝对路径中执行此操作,但请注意您需要为此使用元组而不是指定相对路径。如您所见,这是原始答案的有效解决方案。
    猜你喜欢
    相关资源
    最近更新 更多