我的Pygame应用程序在cx_Freeze中编译为.exe
后从msi
文件完美运行,但是当我从桌面快捷方式运行它时,我收到错误:
快捷方式目标是正确的,声音文件都在正确的目录中,我已经尝试了.wav
和.ogg
文件并降低了比特率等,但似乎没有任何效果。令人沮丧的是,当我打开目标位置并手动运行.exe
时,它运行得很好。我无法弄清楚桌面快捷方法导致错误的原因。
这是我的setup.py
文件:
import sys
import cx_Freeze
base = None
if sys.platform == "win32":
base = "Win32GUI"
executables = [cx_Freeze.Executable(
script="a_bit_racey.py",
base=base,
icon="car_icon.ico",
shortcutName="A bit Racey",
shortcutDir="DesktopFolder")]
cx_Freeze.setup(
name="A bit Racey",
options={"build_exe": {"packages": ["pygame"],
"include_files": ["racecar.png", "Crash.ogg", "Ecstasy_X.ogg",
"car_icon.ico"]}},
executables=executables
)
我错过了快捷方式需要的msi属性吗?我已经坚持了一个星期。
编辑:这是一个可能更好解释的屏幕截图,因为我收到的回复非常少:
使用cx_Freeze创建的桌面快捷方式具有正确的目标位置,甚至似乎运行.exe
文件,但随后出现错误。然而,当我打开目标位置并双击.exe
文件时,它可以完美运行!!
答案 0 :(得分:2)
cx-freeze.readthedocs.io/en/latest/faq.html#data-files
请确保在引擎盖下使用绝对路径,就像这样cx_Freeze doc似乎让我相信。显然在" include_files"列出这些是相对的。你有data_dir查找功能吗?如果没有查看"使用数据文件"的文档。部分。