【发布时间】: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