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

时间:2019-06-21 10:15:35

标签: python matplotlib pyinstaller

我已经使用pyinstaller从python文件生成了可执行文件。该程序可以正常工作,但是在我要隐藏的窗口中显示了此警告消息。

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

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__)

1 个答案:

答案 0 :(得分:3)

如果要使用自定义的spec构建文件,则只需在spec文件中添加以下行即可禁止显示这些启动警告(根据https://pyinstaller.readthedocs.io/en/stable/spec-files.html#giving-run-time-python-options):

exe = EXE(pyz,
      a.scripts,
      [('W ignore', None, 'OPTION')],
      # ...

由于spec文件实际上是python脚本,因此您可以将pathex替换为os.getcwd(),并确保已将os模块导入到{{1 }}文件。

我尝试使用specWindows 10Python 3.7.4。可行!


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

spec

请告诉我它是否有效。