【问题标题】:How do you convert .py file to .exe which uses multiple .png and .wav files? [duplicate]如何将 .py 文件转换为使用多个 .png 和 .wav 文件的 .exe? [复制]
【发布时间】:2020-07-18 21:43:01
【问题描述】:

我是 python 编程的初学者,我面临一个小问题。我创建了一个名为“Dino Rush”的 pygame,它可以在 PyCharm 上完美运行。

我使用 pyinstaller 将我的 .py 文件转换为 .exe 文件。我按照此视频中提到的所有步骤进行操作。

https://youtu.be/UZX5kH72Yx4

请观看此视频并告诉我为什么它不适合我。

按照这些步骤,创建了一个可执行文件,但它给出了错误“无法执行脚本dino_rush”。

PS 如果有帮助,我使用 python 3.8 版、PyCharm 2019.3 社区版、pip 20.0.2 版,并在我的代码中导入了以下模块:pygame、random、math、os。

如果您觉得此方法不够好,请建议任何其他方法来帮助我将文件转换为 .exe。我只是一个初学者,如果能得到任何帮助,我将不胜感激。

【问题讨论】:

  • 您可能想要查看 cx_freeze 而不是 pyinstaller。 cx-freeze.readthedocs.io/en/latest
  • 感谢您推荐 cx_Freeze。我能够创建一个有效的 exe 文件,但图像和音频文件仍然不在那个 exe 文件中(它们仍然与 exe 分开)。您认为现在将整个文件夹与 exe、图像和音频压缩成 zip 文件,然后使用某些第三方应用程序将其转换为 exe 会有效吗?或者你知道的其他方式?
  • cx_Freeze 不会像 pyinstaller 那样尝试使单个文件可执行。相反,它会将你的 python 代码编译成可执行文件,然后复制所需的库并链接它们,这样你的代码就可以在目标机器上不需要 python 环境的情况下运行。将文件打包成单个可执行文件并不是一种常见的做法(请查看“C:\Program Files”目录中的程序)。如果您正在为您的程序寻找安装程序,您可以使用 cx_freeze 中的 bdist_msi 选项。

标签: python pip pygame pyinstaller


【解决方案1】:

嘿,您可以将它们转换为 Base64 并使用它们的图像 或者我发现了另一个技巧和 EZ 获取文件的二进制或十六进制并将它们存储在这样的变量中

Png_Picture = "0063006f002e006c0069006e0064006f
002e006e006f002d0065006d00750000
00000000003900000031535053b1166d
44ad8d7048a748402ea43d788c1d0000
00680000000048000000522ba7fdde39
2d499539dac989e5e106000000000000
000000000000"

并将其保存到 Temp 文件夹中的文件并获取图像路径 Use this thread if you don't know how to save your String(that contains the hex) as a hex file

警告:最好不要从任何外部来源下载图片或保存扩展名为 .exe 的文件,因为 AV 可能会将其检测为 Dropper

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2021-10-03
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多