pyinstaller build

时间:2019-05-19 17:41:45

标签: python python-3.x pyinstaller

我使用pyinstaller为python应用程序构建了一个可执行文件。我使用--add-data命令添加了两个文件夹(数据和音频样本)。可执行文件正在运行。但是在哪里可以找到我添加的两个数据文件夹。他们不是将可执行文件放入dist文件夹吗?

1 个答案:

答案 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")之类的东西一起使用。