Python 如何抑制pyinstaller生成的可执行文件窗口中的所有警告

Python 如何抑制pyinstaller生成的可执行文件窗口中的所有警告,python,matplotlib,pyinstaller,Python,Matplotlib,Pyinstaller,我使用pyinstaller从python文件生成了一个可执行文件。程序按预期的方式工作,但在窗口中出现了我想隐藏的警告消息 当python文件在IDE中运行时,下一行不显示所有警告消息 warnings.filterwarnings('ignore') 但在可执行文件的窗口中,会显示此警告: \venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py:627: MatplotlibDeprecationWarning: T

我使用pyinstaller从python文件生成了一个可执行文件。程序按预期的方式工作,但在窗口中出现了我想隐藏的警告消息

当python文件在IDE中运行时,下一行不显示所有警告消息

warnings.filterwarnings('ignore')
但在可执行文件的窗口中,会显示此警告:

\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py:627: MatplotlibDeprecationWarning:
The MATPLOTLIBDATA environment variable was deprecated in Matplotlib 3.1 and will be removed in 3.3.
  exec(bytecode, module.__dict__)

如果要使用自定义的
spec
构建文件,只需在
spec
文件中添加以下行,即可抑制这些启动警告(根据):

由于
spec
文件实际上是一个python脚本,因此可以将
pathex
替换为
os.getcwd()
,并确保已在
spec
文件中导入
os
模块

我用
python3.7.4
pyinstaller3.5
windows10
上进行了尝试。它起作用了


由于您提供了自定义的
spec
文件,您的基本构建命令应更改为:

pyinstaller xxx.spec

请让我知道它是否有效。

是的,它有效!!非常感谢。抱歉,我之前无法检查此问题。有没有办法在现有版本中执行此操作,而不重新生成?@Eren恐怕您不能。因为它已经是一个可执行的二进制文件,并且该选项应该会影响构建它的方式。
pyinstaller xxx.spec