SpaceLife-Updater/venv/lib64/python3.12/site-packages/PyInstaller/hooks/hook-matplotlib.py

39 lines
1.5 KiB
Python
Executable File

#-----------------------------------------------------------------------------
# Copyright (c) 2013-2023, PyInstaller Development Team.
#
# Distributed under the terms of the GNU General Public License (version 2
# or later) with exception for distributing the bootloader.
#
# The full license is in the file COPYING.txt, distributed with this software.
#
# SPDX-License-Identifier: (GPL-2.0-or-later WITH Bootloader-exception)
#-----------------------------------------------------------------------------
from PyInstaller import isolated
from PyInstaller import compat
from PyInstaller.utils import hooks as hookutils
@isolated.decorate
def mpl_data_dir():
import matplotlib
return matplotlib.get_data_path()
datas = [
(mpl_data_dir(), "matplotlib/mpl-data"),
]
binaries = []
# Windows PyPI wheels for `matplotlib` >= 3.7.0 use `delvewheel`.
# In addition to DLLs from `matplotlib.libs` directory, which should be picked up automatically by dependency analysis
# in contemporary PyInstaller versions, we also need to collect the load-order file. This used to be required for
# python <= 3.7 (that lacked `os.add_dll_directory`), but is also needed for Anaconda python 3.8 and 3.9, where
# `delvewheel` falls back to load-order file codepath due to Anaconda breaking `os.add_dll_directory` implementation.
if compat.is_win and hookutils.check_requirement('matplotlib >= 3.7.0'):
delvewheel_datas, delvewheel_binaries = hookutils.collect_delvewheel_libs_directory('matplotlib')
datas += delvewheel_datas
binaries += delvewheel_binaries