簡體   English   中英

cx_Freeze不包括指定的文件

[英]cx_Freeze not including specified files

我用tkinter和winsound用Pyt​​hon構建了一個簡單的音板。 音板使用一些.gif和.wav數據文件,這些文件與python腳本本身包含在同一目錄中。 我使用cx_Freeze編寫了以下setup.py文件:

import sys
from cx_Freeze import Executable, setup

build_exe_options = {'packages':['winsound', 'tkinter'], 'include_files':['battle.gif', 'Battle.wav', 'flag.gif', 'icon.ico', 'ocean.gif', 'Ocean.wav', 'shanty.gif', 'Shanty.wav', 'tavern.gif', 'Tavern.wav']}

base = None
if sys.platform == "win32":
   base = 'Win32GUI'

setup(name='Savage Worlds Soundboard',
  version='0.1',
  description='Soundboard for Pirates of the Spanish Main campaign',
  options = {'build.exe':build_exe_options},
  executables = [Executable("Savage_Worlds_Soundboard.py", base=base)]
  )

當我在命令提示符下使用python setup.py build構建程序時,通常會在目錄中創建一個build文件夾。 但是,當我打開C:x \\ build \\ exe.win-amd64-3.4 \\ Savage_Worlds_Soundboard(可執行文件)時,出現以下錯誤:


cx_Freeze: Python error in main script
---------------------------
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
    exec(code, m.__dict__)
  File "Savage_Worlds_Soundboard.py", line 5, in <module>
  File "C:\Python34\lib\tkinter\__init__.py", line 3421, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
  File "C:\Python34\lib\tkinter\__init__.py", line 3377, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't open "ocean.gif": no such file or directory

有任何想法嗎? 在我看來,cx_Freeze沒有包含我在setup.py中指定的其他數據文件。 也許我寫的安裝文件不正確?

您需要將圖像移動到構建目錄,以便可執行文件可以找到它們。 我懷疑cx_Freeze會將圖像打包到可執行文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM