NameError: name 'defaultParams' is not defined while running the .exe converted using Pyinstaller

NameError: name 'defaultParams' is not defined while running the .exe converted using Pyinstaller

我使用 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 239, in wrapper
  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 路径中的环境变量。