【问题标题】:Py to exe with pyinstallerPy 到 exe 与 pyinstaller
【发布时间】:2020-07-16 21:03:07
【问题描述】:

我想从 main.py 文件创建一个 .exe。 该脚本使用 2 个外部文件夹: -ffmpeg 文件夹与 ffmpeg .exe -一堆 .mp3 文件

当我尝试使用 pyinstaller 创建 .exe 文件时,一切正常,但程序无法识别这些文件夹。如何才能包含这些文件夹?

Pyinstaller 命令:

pyinstaller main.py -F --add-data "songs\;songs\" --add-data "ffmpeg\;ffmpeg\;" -n Msg -w

该脚本也使用了 awscli pip 包,但 pyinstaller 没有将它包含在 .exe 中(所有包都安装在我的 venv 中)。

有人可以帮助我吗?

编辑:

我使用 AudioSegment 访问 .mp3 文件:AudioSegment.from_mp3(os.path.join("songs", song))

要使用 ffmpeg,我给出这个定位 ffmpeg .exe 文件的命令:os.path.join(os.sep,"ffmpeg","bin")

两个文件夹在main.py文件的同一目录下:

|main folder
--|main.py
--|songs
---|.mp3 files
--|ffmpeg
---|bin
----|ffmpeg .exe file

【问题讨论】:

  • 您能否提供至少几行代码来说明您如何访问这些文件夹。还请提供实际的构建命令,没有错别字
  • 我使用 Audiosegement 处理 .mp3 文件,这是我用于导入 ffmpeg 和 .mp3 文件的代码。 AudioSegment.ffmpeg = os.path.join(os.sep,"ffmpeg","bin") --> 访问ffmpeg .exe AudioSegment.from_mp3(os.path.join("songs", song)) -->访问歌曲
  • 您的 pyinstaller build 命令表明您要在 exe 中打包歌曲和 ffmpeg。真的是你想要的吗?似乎还有一些错字,比如第二个“\;”来自ffmpeg。如果您提供的命令是您实际使用的命令,您应该查看构建日志。您还可以提供导致您声明“程序无法识别这些文件夹”的错误或行为吗?
  • 没有输出错误:当我打开程序时,我必须从歌曲列表中进行选择,但列表为空,因此无法识别文件。对于 ffmpeg cmd 显示“ffmpeg 无法识别”消息。
  • 请您回答我各种cmet的所有问题。

标签: python python-3.x pip pyinstaller


【解决方案1】:

根据此处的文档:https://pyinstaller.readthedocs.io/en/stable/spec-files.html,您需要使用规范文件。

如果包在你的 venv 中,你应该在你的环境中运行 PyInstaller。

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2020-10-24
    • 2019-12-22
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多