问题描述
好的,这是即时通讯程序在解决数独的python程序中使用的库。
import warnings
def fxn():
warnings.warn("deprecated",DeprecationWarning)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()
warnings.filterwarnings("ignore","(?s).*MATPLOTLIBDATA.*",category=UserWarning)
warnings.filterwarnings("ignore",category=DeprecationWarning)
import cv2
import os
os.environ['OPENCV_IO_MAX_IMAGE_PIXELS']=str(2**64)
import pyautogui
import numpy as np
from matplotlib import pyplot as plt
import PyTesseract
from imutils import contours
from selenium import webdriver
当我在pycharm中运行此代码时,程序运行良好,但是,当我使用项目的可执行文件时,出现此错误,我不知道为什么。
C:\Users\carme\PycharmProjects\SudokuSolver\venv\Scripts\dist\main>main.exe
c:\users\carme\pycharmprojects\sudokusolver\venv\lib\site-packages\PyInstaller\loader\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 "main.py",line 71,in <module>
File "<frozen importlib._bootstrap>",line 991,in _find_and_load
File "<frozen importlib._bootstrap>",line 975,in _find_and_load_unlocked
File "<frozen importlib._bootstrap>",line 671,in _load_unlocked
File "c:\users\carme\pycharmprojects\sudokusolver\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py",line 493,in exec_module
exec(bytecode,module.__dict__)
File "matplotlib\__init__.py",line 905,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
[19212] Failed to execute script main
解决方法
经过反复试验,我发现pyinstaller与最新版本的matplotlib有冲突。为了使用pyinstaller生成脚本的可执行文件,您应该将matplotlib降级到3.2.2版本。我还发现numpy的最新版本(1.19.4)出现了一些问题,当我将numpy降级为1.19.3时,该版本就消失了。
您可以检查我的存储库https://github.com/matiasleoni/COVID19_plotter,在其中创建了一个简单的脚本来使用matplotlib软件包绘制COVID19全局数据。经过多次失败的尝试之后,我还能够如上所述创建它的可执行版本(另请参见该存储库的README.md)。