2015-06-11 36 views
2

我想知道如何用py2exe将多个文件打包成一个单独的windows可执行文件。我可以将所有python文件(dll's,...)合并成一个py2exe。但是,我怎样才能将我自己的一些文件(即图像或配置文件)复制到我的可执行文件中,并使用相对路径将它们加载到python中。例如:py2exe,可执行文件:如何将数据打包到单个文件中?

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

@Algo我认为一个是不同的,因为它是问关于库,这一个是关于额外的数据文件。 – noname

回答

1

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

import glob 

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

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

当然,您可以将更多文件夹或文件添加到data_files。 对于这个设置文件中的其他配置选项,您可以参考py2exe官方网站。

+0

谢谢你的回答。你从哪个包导入glob.glob? – Faminator

+0

忘了提及。导入glob – noname

+0

它不起作用。它会在我的projectfolder/dist位置创建文件夹 - 不在打包的可执行文件中。 – Faminator

0

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

看看the PyQt4 Resource System

+0

这是一个好主意,但我没有使用pyqt。我用tkinter。尽管如此:谢谢你的答案 – Faminator

相关问题