cx_Freeze - 从桌面快捷方式运行.exe时出错

时间:2017-05-13 08:46:21

标签: python python-3.x pygame pycharm

我的Pygame应用程序在cx_Freeze中编译为.exe后从msi文件完美运行,但是当我从桌面快捷方式运行它时,我收到错误:

enter image description here

快捷方式目标是正确的,声音文件都在正确的目录中,我已经尝试了.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属性吗?我已经坚持了一个星期。

编辑:这是一个可能更好解释的屏幕截图,因为我收到的回复非常少:

enter image description here

使用cx_Freeze创建的桌面快捷方式具有正确的目标位置,甚至似乎运行.exe文件,但随后出现错误。然而,当我打开目标位置并双击.exe文件时,它可以完美运行!!

1 个答案:

答案 0 :(得分:2)

cx-freeze.readthedocs.io/en/latest/faq.html#data-files

请确保在引擎盖下使用绝对路径,就像这样cx_Freeze doc似乎让我相信。显然在" include_files"列出这些是相对的。你有data_dir查找功能吗?如果没有查看"使用数据文件"的文档。部分。