解决pyinstaller打包找不到ffmpy3的错误
首先,运行pyinstaller打包好的exe文件报错(如果闪退可以通过cmd管理员模式进入该文件架然后运行xxx.exe就可以看到报错信息):
D:\xxx\xxx\Scripts\dist>GetFilm.exe
Traceback (most recent call last):
File "testFFmpeg3\GetFilm.py", line 4, in <module>
ModuleNotFoundError: No module named 'ffmpy3'
[19880] Failed to execute script 'GetFilm' due to unhandled exception!
解决方法:
在venv环境中下载pyinstaller这个包(可以使用镜像源),然后进入这个包中。目前只测试过venv环境下可以执行,如果是系统环境请自行测试。
pip install pyinstaller
下载之后的位置一般会在site-packages,例如:D:\xxxx\xxx\Lib\site-packages
在site-packages中会出现PyInstaller这个文件夹,在这个文件夹中找到compat.py这个文件。
这个文件进行备份然后打开修改,在PY3_BASE_MODULES添加ffmpy3 。
最后重新打包,解决问题。
打包命令:
在有pyinstaller.exe这个文件夹下,打开管理员命令,然后执行该命令:
pyinstaller --onefile ../xxx.py
–onefile:这个是把依赖打到一起,然后生成的文件dist中就会有个有依赖的exe可执行文件。