将脚本转换为可执行文件后,它将出现以下错误:MatplotlibDeprecationWarning

时间:2020-11-04 15:35:24

标签: python pyqt5 matplotlib-widget

我有一个错误,完整的形式是

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

我将脚本转换为可执行文件。转换后,它从未打开过。当我使用IDE(VS Code,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')

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

1 个答案:

答案 0 :(得分:0)

Arda,经过反复试验,我发现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)。