NameError:运行使用 Pyinstaller 转换的 .exe 时未定义名称“defaultParams”

Jim*_*ela 5 python matplotlib pyinstaller python-3.x

main.py使用 pyinstaller成功转换了脚本。但是,在执行.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 239, in wrapper
  File "matplotlib\__init__.py", line 563, in _get_data_path
NameError: name 'defaultParams' is not defined
Run Code Online (Sandbox Code Playgroud)

Jim*_*ela 12

据说,您可以做的就是将您的 matplotlib 降级到以下版本:

pip install matplotlib==3.2.2

显然,最新版本的 matplotlib 干扰了 Windows 路径中的环境变量。