I'm getting this error when I'm trying to make an .exe file through pyinstaller - "ModuleNotFoundError: No module named 'acrcloud_extr_tool'"

I'm getting this error when I'm trying to make an .exe file through pyinstaller - "ModuleNotFoundError: No module named 'acrcloud_extr_tool'"

我正在使用 ACRCloud 识别音频文件,我已经使用 tkinter 构建了一个 GUI,并且我正在使用 PyInstaller 将代码冻结为 .exe 文件。但是,当我 运行 安装 .exe 文件时出现此错误:

ModuleNotFoundError: No module named 'acrcloud_extr_tool'

如果我直接从脚本 运行 它,没有错误并且 运行 没问题。请帮忙?我才刚刚开始。

根据我使用 pyinstaller 的经验,我需要在构建命令中添加一个参数,以便 pyinstaller 知道在哪里寻找模块。如果您是从命令提示符构建的,该行可能是这样的:

pyinstaller "yourFileName.py"  

但是,您可以向其中添加其他命令以指定 exe 的构建方式 - 它是否具有自定义图标、基于控制台还是隐藏控制台等。此外,您可以添加路径列表,告诉 pyinstaller 在哪里寻找你的模块,这是这样完成的:

pyinstaller -p C:\theFolderWhereYourCustomModulesAreSaved:C:\Users\yourName\AppData\Local\Programs\Python\Python36-32\Lib\site-packages  "yourFileName.py"

请注意,这些文件路径周围没有引号,并且它们由冒号分隔。您的 Python 站点包的路径可能与我的略有不同,但除了我的用户名外,我保留了所有相同的路径信息,因此请根据您自己的机器的需要进行编辑。此外,我在示例中显示的第一个 'fake' 路径是,如果您已经编写了一些自己的模块并将它们导入到您的项目中。例如,如果您的主项目保存在 C:\myProject 中,但您编写的模块像这样导入到您的程序中:

import myCustomModule

并且 THOSE 模块保存在 C:\myProject\myModules,那么您可以将该命令更改为如下所示:

pyinstaller -p C:\myProject\myModules:C:\Users\yourName\AppData\Local\Programs\Python\Python36-32\Lib\site-packages  "yourFileName.py"

希望这能解决您的问题。

我解决了。事实证明,由于它是一个二进制文件(扩展名为 .pyd),因此必须在 .spec 文件中明确添加它(阅读 pyinstaller 文档)。我做到了,它 运行 非常棒。