您可以使用Pyinstaller访问多张照片吗?

时间:2019-08-09 12:56:40

标签: python python-3.x windows tkinter pyinstaller

pyinstaller是否可以包含多张照片(.gif文件)。我在Tkinter GUI中使用大量照片,但是不确定是否可以使用。我的图像与.py文件位于不同的文件夹中,但是在应用程序中使用照片时,我会使用整个路径。

我还在程序中使用了几个.txt文件(与.py文件保存在同一文件夹中)和一个.wav文件。我的程序仍然可以访问这些吗?

基本上,可以使用pyinstaller来访问声音,图像和文本文件的可执行文件。

我还需要能够分发此内容。因此,我需要我的exe能够在另一台计算机上访问那些照片,文本文件和声音文件。

1 个答案:

答案 0 :(得分:1)

根据我的经验,我猜您可以在构建应用程序后将所有需要的文件移动到可执行文件所在的文件夹(即dist/)中。


您还可以在一个命令中执行此操作:pyinstaller main.py --add-data <SRC;DEST or SRC:DEST>,用于将其他非二进制文件添加到可执行文件中。

  

路径分隔符是特定于平台的,使用os.pathsep(在Windows中为;,在大多数unix系统中为:)。此选项可以多次使用。


或者,您可以更改PyInstaller生成的规范文件,以将其他数据文件添加到您的应用中。

  1. 使用pyi-makespec main.py创建规格文件。

  2. 更改规范文件以包括您的数据文件:

a = Analysis(..., datas=[('path/to/your/file', '.'),], ...)
  
      
  • 第一个字符串指定文件或文件在系统中的位置。
  •   
  • 第二个字母指定运行时包含文件的文件夹的名称。
  •   
  1. 创建规范文件并根据需要对其进行修改后,可以通过将规范文件传递给pyinstaller命令pyinstaller main.spec来构建应用程序。

参考:https://pythonhosted.org/PyInstaller/spec-files.html