After I convert my script to executable file, it gives this error : MatplotlibDeprecationWarning

After I convert my script to executable file, it gives this error : MatplotlibDeprecationWarning

我有一个错误,完整的表格是

MatplotlibDeprecationWarning:MATPLOTLIBDATA 环境变量已在 Matplotlib 3.1 中弃用,并将在 3.3 中删除

我将脚本转换为可执行文件。转换后,它从未打开过。当我使用 IDE(VS 代码、Linux shell 和 Spyder)执行脚本时,它可以工作。不知怎么的,我把它转换成exe后它打不开。我写了一些行来避免这个错误,但它根本不起作用。例如; Python/matplotlib : getting rid of matplotlib.mpl warning

我使用 pyinstaller 和 auto-py-to-exe 将我的脚本转换为 exe。

这是我代码的开头:

from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt, QDate, pyqtSlot
from PyQt5.QtGui import QIcon
from datetime import datetime
import calendar
import sys
import numpy as np 
import pandas as pd
from scipy.signal import find_peaks
import os
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas, NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure
import matplotlib.dates as mdates
matplotlib.use('Qt5Agg')
myFmt = mdates.DateFormatter('%d')

所有代码都放在这里很长。非常感谢您的关注。

Arda,经过反复试验发现pyinstaller与最新版matplotlib有冲突。为了使用 pyinstaller 生成脚本的可执行文件,您应该将 matplotlib 降级到 3.2.2 版本。我还发现最新 (1.19.4) 版本的 numpy 存在一些问题,当我将 numpy 降级到 1.19.3 时这些问题消失了。

你可以查看我的仓库 https://github.com/matiasleoni/COVID19_plotter 我在其中创建了一个简单的脚本来使用 matplotlib 包绘制 COVID19 全球数据。在多次失败的尝试之后,我也能够如上所述创建它的可执行版本(另请参阅该存储库的 README.md)。