-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
hook-PyQt5.py
32 lines (28 loc) · 1.29 KB
/
hook-PyQt5.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#-----------------------------------------------------------------------------
# Copyright (c) 2005-2021, 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)
#-----------------------------------------------------------------------------
import os
from PyInstaller.utils.hooks import collect_system_data_files
from PyInstaller.utils.hooks.qt import pyqt5_library_info, get_qt_binaries
# Ensure PyQt5 is importable before adding info depending on it.
if pyqt5_library_info.version is not None:
hiddenimports = [
# PyQt5.10 and earlier uses sip in an separate package;
'sip',
# PyQt5.11 and later provides SIP in a private package. Support both.
'PyQt5.sip'
]
# Collect the ``qt.conf`` file.
datas = [x for x in
collect_system_data_files(pyqt5_library_info.location['PrefixPath'],
os.path.join('PyQt5', 'Qt'))
if os.path.basename(x[0]) == 'qt.conf']
# Collect required Qt binaries.
binaries = get_qt_binaries(pyqt5_library_info)