matplotlib版本:3.3.1
使用pyinstaller打包,运行时会出现NameError、KeyError等内部函数调用错误,解决方法是需要将matplotlib中mpl-data的matplotlibrc加到打包后的matplotlib文件夹中,但不知道为什么在spec中指定了data并且生成文件中也有对应文件,运行依然出错。
对比后发现新文件要比原文件多出0.3k,而打包后根目录又自动有mpl-data文件夹,所以我在初始化代码中加入下面这段,移动对应文件夹中的matplotlibrc文件到matplotlib文件夹中就可以解决问题了。
# 解决打包错位问题
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
if os.path.exists(BASE_DIR+r'\mpl-data'):
from shutil import move
move(BASE_DIR+r'\mpl-data',BASE_DIR+r'\matplotlib')