问题描述
我使用pyinstaller成功转换了main.py
脚本。但是,对于同一文件执行.exe
文件时,将引发以下错误。
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 "main.py",line 8,in <module>
File "<frozen importlib._bootstrap>",line 983,in _find_and_load
File "<frozen importlib._bootstrap>",line 967,in _find_and_load_unlocked
File "<frozen importlib._bootstrap>",line 677,in _load_unlocked
File "c:\users\XXXX\appdata\local\programs\python\python37\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 563,in _get_data_path
NameError: name 'defaultParams' is not defined
解决方法
应该解决的所有办法是将matplotlib降级到以下版本:
pip install matplotlib==3.2.2
显然,最新版本的matplotlib在Windows路径中插入了环境变量。