使用py2exe包含文件夹

0 投票
1 回答
1148 浏览
提问于 2025-04-17 15:30

我在我的脚本中使用了python-pptx这个库。

这个库里面有一个子文件夹,结构大概是这样的:

pptx/
     templates/
               default.pptx
     py files

我使用py2exe来生成一个Windows可执行文件,但当我运行它时,出现了一个错误,提示说' templates'这个文件夹没有被放进生成的library.zip里:

pptx.exc.PackageNotFoundError: Package not found at 'C:\Documents and Settings\rke99878\Mes documents\pptx_fusion\dist\library.zip\pptx\templates\default.pptx'

这个库的Python文件都被正确处理了,但这个文件夹却没有。我尝试在py2exe的选项中添加package={'pptx/*'},但问题依旧。

如果我手动把这个文件夹放进library.zip里,还是会出现同样的错误。

我该怎么告诉py2exe去包含这个文件夹呢?

1 个回答

1

问题解决了。

把文件夹 \pptx\templates\default.pptx 复制到你的项目里,然后在创建 pptx 文件的时候,使用这个格式:

prs = Presentation(r'C:\Documents and Settings\rke99878\Mes documents\pptx_fusion\dist\pptx\templates\default.pptx')

撰写回答