打包matplotlib出现RuntimeError: Could not find the matplotlib data files

在用pyinstaller打包exe时,出现

pyimod03_importers.py:493: MatplotlibDeprecationWarning: Matplotlib installs where the data is not in the mpl-data subdirectory of the package are deprecated since 3.2 and support for them will be removed two minor releases later.
  exec(bytecode, module.__dict__)
Traceback (most recent call last):
  File "test_Drawing_day.py", line 10, in <module>
    import matplotlib.pyplot as plt
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "d:\anaconda\envs\python36_32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
    exec(bytecode, module.__dict__)
  File "matplotlib\__init__.py", line 898, 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 566, in _get_data_path
RuntimeError: Could not find the matplotlib data files

尝试了网友说的一系列方法,无果。。。
我发现了错误提示里面的介个:

MatplotlibDeprecationWarning: Matplotlib installs where the data is not in the mpl-data subdirectory of the package are deprecated since 3.2 and support for them will be removed two minor releases later.

ok,matplotlib3.2以后就把mpl-data分离出去了,我查看了下自己的matplotlib版本

(python36_32) D:\Anaconda\envs\python36_32\Scripts>pip list
Package           Version
----------------- -------------------
altgraph          0.17
astroid           2.4.0
certifi           2020.4.5.1
chardet           3.0.4
click             7.1.2
colorama          0.4.3
comtypes          1.1.7
cssselect         1.1.0
cycler            0.10.0
easytrader        0.21.0
easyutils         0.1.7
Flask             1.1.2
future            0.18.2
get               0.0.0
idna              2.10
isort             4.3.21
itsdangerous      1.1.0
Jinja2            2.11.2
joblib            0.15.1
kiwisolver        1.2.0
lazy-object-proxy 1.4.3
lxml              4.5.1
MarkupSafe        1.1.1
matplotlib        3.3.0  ##这里

行,卸载,重装(在anaconda prompt里)

pip uninstall matplotlib
pip install matplotlib==3.1.1

ok,安装好新的版本之后重新打包

pyinstaller -F XXX.py

找到.spec文件
修改 hiddenimports=[‘matplotlib’],
在这里插入图片描述
再继续执行

pyinstaller -F XXX.spec

ok,打包完毕
执行时,会出现warning,但是不影响结果~
bingo~ 希望对你有帮助,我弄了几个小时了,大哭!!!

猜你喜欢

转载自blog.csdn.net/Iv_zzy/article/details/107916741