我使用pyinstaller为python应用程序构建了一个可执行文件。我使用--add-data命令添加了两个文件夹(数据和音频样本)。可执行文件正在运行。但是在哪里可以找到我添加的两个数据文件夹。他们不是将可执行文件放入dist文件夹吗?
答案 0 :(得分:1)
当您将数据添加到PyInstaller时,它将带入您的数据并以one-file
模式在temp
文件夹中提取数据(例如,在Windows上类似C:\Users\<User>\Appdata\local\temp\_MEI60482\
),因此您需要更改代码以从该目录打开文件。一个好的做法是在代码中使用此功能来检索数据。运行可执行文件sys._MEIPASS
时,将等于PyInstaller临时文件夹。
def resource_path(relative_path):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, relative_path)
return os.path.join(os.path.abspath("."), relative_path)
然后,您可以将其与source = resource_path("audio.zip")
之类的东西一起使用。