我创建了一个简单的 python 脚本。用户应输入图像的路径,脚本应在图像中找到一个圆,并计算 x 轴和 y 轴的圆心和半径。一切都按其应有的方式进行。 将脚本转换为 exe 文件后,使用 Auto Py to Exe 应用程序(我使用一个文件和基于控制台),exe 编译完成,没有任何异常。 用户输入路径后,脚本不断崩溃并出现以下错误: ModuleNotFoundError:没有名为“scipy._lib.array_api_compat.numpy.fft”的模块 我该如何解决这个问题?
我尝试了不同类型的将脚本转换为 exe,但我不断收到相同的错误
使用 PyInstaller 解决 scipy 依赖关系问题
如果您在使用 PyInstaller 构建 .exe 时遇到 scipy ModuleNotFoundError,可能是因为 PyInstaller 未检测到所有依赖项。您可以通过创建自定义挂钩来解决此问题。
在运行 PyInstaller 的同一目录中创建一个 hook-scipy.py 文件:
# hook-scipy.py from PyInstaller.utils.hooks import collect_submodules hiddenimports = collect_submodules('scipy')
构建您的项目,使用钩子指定目录:
pyinstaller --onefile --additional-hooks-dir=. your_script.py