最近在执行以前打包的一个PyQT程序时报错,错误信息如下:
F:\coffeDog\videoToGif\dist\video2Gif>video2Gif.exe
Traceback (most recent call last):
File "video2Gif.py", line 5, in <module>
File "" , line 991, in _find_and_load
File "" , line 975, in _find_and_load_unlocked
File "" , line 671, in _load_unlocked
File "c:\program files\python38\lib\site-packages\PyInstaller\loader\pyimod03_
importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "moviepy\editor.py", line 60, in <module>
File "" , line 991, in _find_and_load
File "" , line 975, in _find_and_load_unlocked
File "" , line 671, in _load_unlocked
File "c:\program files\python38\lib\site-packages\PyInstaller\loader\pyimod03_
importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "moviepy\video\io\sliders.py", line 1, in <module>
File "" , line 991, in _find_and_load
File "" , line 975, in _find_and_load_unlocked
File "" , line 671, in _load_unlocked
File "c:\program files\python38\lib\site-packages\PyInstaller\loader\pyimod03_
importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "matplotlib\__init__.py", line 914, in <module>
File "matplotlib\cbook\__init__.py", line 480, in _get_data_path
File "matplotlib\__init__.py", line 239, in wrapper
File "matplotlib\__init__.py", line 534, in get_data_path
File "matplotlib\__init__.py", line 239, in wrapper
File "matplotlib\__init__.py", line 563, in _get_data_path
NameError: name 'defaultParams' is not defined
[5960] Failed to execute script video2Gif
找到具体报错的文件matplotlib\__init__.py
,如图:
打开找到报错信息相关行注释即可,如图:
保存退出后重新执行打包,问题解决。
该问题是由于matplotlib相关版本的问题引起的,老猿的机器上对应的matplotlib版本为3.3.3,网上有文章介绍说使用低一点的版本3.2.2就没有该问题,老猿没有测试,大家也可以是试一下。
pip install matplotlib==3.2.2
本文介绍了pyinstaller打包exe执行文件执行报错NameError: name ‘defaultParams’ is not defined,该问题是由于matplotlib对应版本存在问题导致的,可以通过修改对应版本的代码或降低matplotlib解决。
更多moviepy的介绍请参考《PyQt+moviepy音视频剪辑实战文章目录》或《moviepy音视频开发专栏》。
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
如果对文章内容存在疑问,可以在博客评论区留言,或关注:老猿Python 微信公号发消息咨询。
前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。
对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。
如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。