py2exe,executable:如何将数据打包到单个文件中?

时间:2015-06-11 14:55:20

标签: python python-3.x exe py2exe

我想知道如何使用py2exe将多个文件打包到一个单独的Windows可执行文件中。我可以将所有python文件(dll,...)放到一个py2exe中。但是,如何将我自己的一些文件(即图像或配置文件)复制到我的可执行文件中,并使用相对路径将它们加载到python中。在示例中:

file = open("config.txt",r")
file2 = open("mysubfolder\config.txt","r")

2 个答案:

答案 0 :(得分:1)

我不知道您是否可以将图像文件嵌入到exe中。如果有办法,我也很感兴趣。我所知道的是你可以从一个单独的文件夹中使用它们。为此,您需要修改您的安装文件。为要加载的事物添加数据路径。例如,将其添加到您的设置文件中:

import glob

data_files = [('mysubfolder', glob.glob('mysubfolder/config.txt'))]

setup(
   data_files = data_files,
   windows = [GUI2Exe_Target_1]
)

当然,您可以向data_files添加更多文件夹或文件。 对于此安装文件中的其他配置选项,您可以参考py2exe官方站点。

答案 1 :(得分:0)

如果您正在使用PyQT(或PySide),则可以将资源文件编译为python模块(carousel_id文件)。这样,你只需要.py他们就可以使用它们,py2exe默认会将它们包含在可执行文件中。

请看the PyQt4 Resource System