Remove hardcoded libpython binaries and add debug step
All checks were successful
build / build-linux (push) Successful in 16s
All checks were successful
build / build-linux (push) Successful in 16s
This commit is contained in:
@@ -0,0 +1 @@
|
||||
#
|
||||
@@ -0,0 +1,77 @@
|
||||
# ------------------------------------------------------------------
|
||||
# Copyright (c) 2023 PyInstaller Development Team.
|
||||
#
|
||||
# This file is distributed under the terms of the GNU General Public
|
||||
# License (version 2.0 or later).
|
||||
#
|
||||
# The full license is available in LICENSE, distributed with
|
||||
# this software.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
from PyInstaller import compat
|
||||
from PyInstaller.utils.hooks import (
|
||||
logger,
|
||||
is_module_satisfies,
|
||||
)
|
||||
|
||||
|
||||
# Helper for collecting shared libraries from NVIDIA CUDA packages on linux.
|
||||
def collect_nvidia_cuda_binaries(hook_file):
|
||||
# Find the module underlying this nvidia.something hook; i.e., change ``/path/to/hook-nvidia.something.py`` to
|
||||
# ``nvidia.something``.
|
||||
hook_name, hook_ext = os.path.splitext(os.path.basename(hook_file))
|
||||
assert hook_ext.startswith('.py')
|
||||
assert hook_name.startswith('hook-')
|
||||
module_name = hook_name[5:]
|
||||
|
||||
# `search_patterns` was added to `collect_dynamic_libs` in PyInstaller 5.8, so that is the minimum required version.
|
||||
binaries = []
|
||||
if is_module_satisfies('PyInstaller >= 5.8'):
|
||||
from PyInstaller.utils.hooks import collect_dynamic_libs, PY_DYLIB_PATTERNS
|
||||
binaries = collect_dynamic_libs(
|
||||
module_name,
|
||||
# Collect fully-versioned .so files (not included in default search patterns).
|
||||
search_patterns=PY_DYLIB_PATTERNS + ["lib*.so.*"],
|
||||
)
|
||||
else:
|
||||
logger.warning("hook-%s: this hook requires PyInstaller >= 5.8!", module_name)
|
||||
|
||||
return binaries
|
||||
|
||||
|
||||
# Helper to turn list of requirements (e.g., ['nvidia-cublas-cu12', 'nvidia-nccl-cu12', 'nvidia-cudnn-cu12']) into
|
||||
# list of corresponding nvidia.* module names (e.g., ['nvidia.cublas', 'nvidia.nccl', 'nvidia-cudnn']), while ignoring
|
||||
# unrecognized requirements. Intended for use in hooks for frameworks, such as `torch` and `tensorflow`.
|
||||
def infer_hiddenimports_from_requirements(requirements):
|
||||
# All nvidia-* packages install to nvidia top-level package, so we cannot query top-level module via
|
||||
# metadata. Instead, we manually translate them from dist name to package name.
|
||||
_PATTERN = r'^nvidia-(?P<subpackage>.+)-cu[\d]+$'
|
||||
nvidia_hiddenimports = []
|
||||
|
||||
for req in requirements:
|
||||
m = re.match(_PATTERN, req)
|
||||
if m is not None:
|
||||
# Convert
|
||||
package_name = "nvidia." + m.group('subpackage').replace('-', '_')
|
||||
nvidia_hiddenimports.append(package_name)
|
||||
|
||||
return nvidia_hiddenimports
|
||||
|
||||
|
||||
def create_symlink_suppression_patterns(hook_file):
|
||||
hook_name, hook_ext = os.path.splitext(os.path.basename(hook_file))
|
||||
assert hook_ext.startswith('.py')
|
||||
assert hook_name.startswith('hook-')
|
||||
module_name = hook_name[5:]
|
||||
|
||||
# Applicable only to Linux
|
||||
if not compat.is_linux:
|
||||
return []
|
||||
|
||||
# Pattern: **/{module_dir}/lib/lib*.so*
|
||||
return [os.path.join('**', *module_name.split('.'), 'lib', 'lib*.so*')]
|
||||
@@ -0,0 +1,604 @@
|
||||
import os
|
||||
|
||||
# This list of dependencies was obtained via analysis based on code in `vtkmodules/generate_pyi.py` and augmented with
|
||||
# missing entries until all tests from `test_vtkmodules` pass. Instead of a pre-computed list, we could dynamically
|
||||
# analyze each module when the hook is executed; however, such approach would be slower, and would also not account
|
||||
# for all dependencies that had to be added manually.
|
||||
#
|
||||
# NOTE: `vtkmodules.vtkCommonCore` is a dependency of every module, so do not list it here. Modules with no additional
|
||||
# dependencies are also not listed.
|
||||
_module_dependencies = {
|
||||
'vtkmodules.vtkAcceleratorsVTKmDataModel': [
|
||||
'vtkmodules.vtkAcceleratorsVTKmCore',
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
],
|
||||
'vtkmodules.vtkAcceleratorsVTKmFilters': [
|
||||
'vtkmodules.vtkAcceleratorsVTKmCore',
|
||||
'vtkmodules.vtkAcceleratorsVTKmDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCore',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
'vtkmodules.vtkFiltersGeometry',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
],
|
||||
'vtkmodules.vtkChartsCore': [
|
||||
'vtkmodules.vtkRenderingContext2D',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
],
|
||||
'vtkmodules.vtkCommonColor': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
],
|
||||
'vtkmodules.vtkCommonComputationalGeometry': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
],
|
||||
'vtkmodules.vtkCommonDataModel': [
|
||||
'vtkmodules.vtkCommonMath',
|
||||
'vtkmodules.vtkCommonTransforms',
|
||||
'vtkmodules.util.data_model',
|
||||
],
|
||||
'vtkmodules.vtkCommonExecutionModel': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.util.execution_model',
|
||||
],
|
||||
'vtkmodules.vtkCommonMisc': [
|
||||
'vtkmodules.vtkCommonMath',
|
||||
],
|
||||
'vtkmodules.vtkCommonTransforms': [
|
||||
'vtkmodules.vtkCommonMath',
|
||||
],
|
||||
'vtkmodules.vtkDomainsChemistry': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOLegacy',
|
||||
'vtkmodules.vtkIOXMLParser',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkDomainsChemistryOpenGL2': [
|
||||
'vtkmodules.vtkDomainsChemistry',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkFiltersAMR': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersCellGrid': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersCore': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkCommonMisc',
|
||||
],
|
||||
'vtkmodules.vtkFiltersExtraction': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
],
|
||||
'vtkmodules.vtkFiltersFlowPaths': [
|
||||
'vtkmodules.vtkCommonComputationalGeometry',
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkCommonMath',
|
||||
],
|
||||
'vtkmodules.vtkFiltersGeneral': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCore',
|
||||
],
|
||||
'vtkmodules.vtkFiltersGeneric': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersGeometry': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersGeometryPreview': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersHybrid': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkCommonTransforms',
|
||||
'vtkmodules.vtkFiltersGeometry',
|
||||
],
|
||||
'vtkmodules.vtkFiltersHyperTree': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCore',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
],
|
||||
'vtkmodules.vtkFiltersImaging': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersStatistics',
|
||||
],
|
||||
'vtkmodules.vtkFiltersModeling': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
],
|
||||
'vtkmodules.vtkFiltersParallel': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCore',
|
||||
'vtkmodules.vtkFiltersExtraction',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
'vtkmodules.vtkFiltersGeometry',
|
||||
'vtkmodules.vtkFiltersHybrid',
|
||||
'vtkmodules.vtkFiltersHyperTree',
|
||||
'vtkmodules.vtkFiltersModeling',
|
||||
'vtkmodules.vtkFiltersSources',
|
||||
'vtkmodules.vtkFiltersTexture',
|
||||
],
|
||||
'vtkmodules.vtkFiltersParallelDIY2': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCore',
|
||||
'vtkmodules.vtkFiltersParallel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersParallelImaging': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersImaging',
|
||||
'vtkmodules.vtkFiltersParallel',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
],
|
||||
'vtkmodules.vtkFiltersParallelStatistics': [
|
||||
'vtkmodules.vtkFiltersStatistics',
|
||||
],
|
||||
'vtkmodules.vtkFiltersPoints': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersModeling',
|
||||
],
|
||||
'vtkmodules.vtkFiltersProgrammable': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersPython': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersReduction': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersSMP': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkFiltersCore',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
],
|
||||
'vtkmodules.vtkFiltersSelection': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersSources': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersStatistics': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersTemporal': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCore',
|
||||
],
|
||||
'vtkmodules.vtkFiltersTensor': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersTexture': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersTopology': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkFiltersVerdict': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkGeovisCore': [
|
||||
'vtkmodules.vtkCommonTransforms',
|
||||
],
|
||||
'vtkmodules.vtkIOAMR': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOAsynchronous': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
'vtkmodules.vtkIOImage',
|
||||
'vtkmodules.vtkIOXML',
|
||||
],
|
||||
'vtkmodules.vtkIOAvmesh': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOCGNSReader': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOCONVERGECFD': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOCellGrid': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCellGrid',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOCesium3DTiles': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOChemistry': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOCityGML': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOCore': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOERF': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOEnSight': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOEngys': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOExodus': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
'vtkmodules.vtkIOXMLParser',
|
||||
],
|
||||
'vtkmodules.vtkIOExport': [
|
||||
'vtkmodules.vtkIOCore',
|
||||
'vtkmodules.vtkIOImage',
|
||||
'vtkmodules.vtkIOXML',
|
||||
'vtkmodules.vtkRenderingContext2D',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingFreeType',
|
||||
'vtkmodules.vtkRenderingVtkJS',
|
||||
],
|
||||
'vtkmodules.vtkIOExportGL2PS': [
|
||||
'vtkmodules.vtkIOExport',
|
||||
'vtkmodules.vtkRenderingGL2PSOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkIOExportPDF': [
|
||||
'vtkmodules.vtkIOExport',
|
||||
'vtkmodules.vtkRenderingContext2D',
|
||||
],
|
||||
'vtkmodules.vtkIOFDS': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOFLUENTCFF': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOGeoJSON': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOGeometry': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
'vtkmodules.vtkIOLegacy',
|
||||
],
|
||||
'vtkmodules.vtkIOH5Rage': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOH5part': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOHDF': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOIOSS': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersCellGrid',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOImport': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkIOImage': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
],
|
||||
'vtkmodules.vtkIOInfovis': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOLegacy',
|
||||
'vtkmodules.vtkIOXML',
|
||||
],
|
||||
'vtkmodules.vtkIOLANLX3D': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOLSDyna': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOXMLParser',
|
||||
],
|
||||
'vtkmodules.vtkIOLegacy': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCellGrid',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOMINC': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
'vtkmodules.vtkIOImage',
|
||||
],
|
||||
'vtkmodules.vtkIOMotionFX': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOMovie': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIONetCDF': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOOMF': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOOggTheora': [
|
||||
'vtkmodules.vtkIOMovie',
|
||||
],
|
||||
'vtkmodules.vtkIOPIO': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOPLY': [
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOParallel': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
'vtkmodules.vtkIOGeometry',
|
||||
'vtkmodules.vtkIOImage',
|
||||
'vtkmodules.vtkIOLegacy',
|
||||
],
|
||||
'vtkmodules.vtkIOParallelExodus': [
|
||||
'vtkmodules.vtkIOExodus',
|
||||
],
|
||||
'vtkmodules.vtkIOParallelLSDyna': [
|
||||
'vtkmodules.vtkIOLSDyna',
|
||||
],
|
||||
'vtkmodules.vtkIOParallelXML': [
|
||||
'vtkmodules.vtkIOXML',
|
||||
],
|
||||
'vtkmodules.vtkIOSQL': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOCore',
|
||||
],
|
||||
'vtkmodules.vtkIOSegY': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOImage',
|
||||
],
|
||||
'vtkmodules.vtkIOTRUCHAS': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOTecplotTable': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOVPIC': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOVeraOut': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOVideo': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkIOXML': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOXMLParser',
|
||||
],
|
||||
'vtkmodules.vtkIOXMLParser': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
],
|
||||
'vtkmodules.vtkIOXdmf2': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkIOLegacy',
|
||||
],
|
||||
'vtkmodules.vtkImagingColor': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
],
|
||||
'vtkmodules.vtkImagingCore': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkImagingFourier': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
],
|
||||
'vtkmodules.vtkImagingGeneral': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
],
|
||||
'vtkmodules.vtkImagingHybrid': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkImagingMath': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkImagingMorphological': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
'vtkmodules.vtkImagingGeneral',
|
||||
],
|
||||
'vtkmodules.vtkImagingOpenGL2': [
|
||||
'vtkmodules.vtkImagingGeneral',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkImagingSources': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkImagingStatistics': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkImagingStencil': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkImagingCore',
|
||||
],
|
||||
'vtkmodules.vtkInfovisCore': [
|
||||
'vtkmodules.vtkCommonColor',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkImagingSources',
|
||||
'vtkmodules.vtkIOImage',
|
||||
'vtkmodules.vtkRenderingFreeType',
|
||||
],
|
||||
'vtkmodules.vtkInfovisLayout': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkInteractionImage': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkInteractionStyle': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkInteractionWidgets': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
'vtkmodules.vtkFiltersSources',
|
||||
'vtkmodules.vtkRenderingContext2D',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkPythonContext2D': [
|
||||
'vtkmodules.vtkRenderingContext2D',
|
||||
],
|
||||
'vtkmodules.vtkRenderingAnnotation': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingCellGrid': [
|
||||
'vtkmodules.vtkFiltersCellGrid',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingContext2D': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingContextOpenGL2': [
|
||||
'vtkmodules.vtkRenderingContext2D',
|
||||
'vtkmodules.vtkRenderingFreeType',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingCore': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
],
|
||||
'vtkmodules.vtkRenderingExternal': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingFreeType': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingGridAxes': [
|
||||
'vtkmodules.vtkChartsCore',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingGL2PSOpenGL2': [
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingHyperTreeGrid': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingImage': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingLICOpenGL2': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingLOD': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingLabel': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingFreeType',
|
||||
],
|
||||
'vtkmodules.vtkRenderingMatplotlib': [
|
||||
'vtkmodules.vtkRenderingFreeType',
|
||||
],
|
||||
'vtkmodules.vtkRenderingOpenGL2': [
|
||||
'vtkmodules.vtkFiltersGeneral',
|
||||
'vtkmodules.vtkIOImage',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingHyperTreeGrid',
|
||||
'vtkmodules.vtkRenderingUI',
|
||||
],
|
||||
'vtkmodules.vtkRenderingParallel': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingUI': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingVR': [
|
||||
'vtkmodules.vtkInteractionStyle',
|
||||
'vtkmodules.vtkInteractionWidgets',
|
||||
'vtkmodules.vtkIOXMLParser',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
'vtkmodules.vtkRenderingVolumeOpenGL2',
|
||||
'vtkmodules.vtkRenderingVRModels',
|
||||
],
|
||||
'vtkmodules.vtkRenderingVRModels': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingVolume': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkRenderingVolumeAMR': [
|
||||
'vtkmodules.vtkImagingCore',
|
||||
'vtkmodules.vtkRenderingVolume',
|
||||
'vtkmodules.vtkRenderingVolumeOpenGL2',
|
||||
],
|
||||
'vtkmodules.vtkRenderingVolumeOpenGL2': [
|
||||
'vtkmodules.vtkImagingCore',
|
||||
'vtkmodules.vtkImagingMath',
|
||||
'vtkmodules.vtkRenderingOpenGL2',
|
||||
'vtkmodules.vtkRenderingVolume',
|
||||
],
|
||||
'vtkmodules.vtkRenderingVtkJS': [
|
||||
'vtkmodules.vtkRenderingSceneGraph',
|
||||
],
|
||||
'vtkmodules.vtkTestingRendering': [
|
||||
'vtkmodules.vtkImagingColor',
|
||||
'vtkmodules.vtkIOXML',
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
],
|
||||
'vtkmodules.vtkTestingSerialization': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkSerializationManager',
|
||||
],
|
||||
'vtkmodules.vtkViewsContext2D': [
|
||||
'vtkmodules.vtkRenderingCore',
|
||||
'vtkmodules.vtkViewsCore',
|
||||
],
|
||||
'vtkmodules.vtkViewsCore': [
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkInteractionWidgets',
|
||||
],
|
||||
'vtkmodules.vtkViewsInfovis': [
|
||||
'vtkmodules.vtkCommonDataModel',
|
||||
'vtkmodules.vtkCommonExecutionModel',
|
||||
'vtkmodules.vtkInteractionStyle',
|
||||
'vtkmodules.vtkRenderingContext2D',
|
||||
'vtkmodules.vtkViewsCore',
|
||||
],
|
||||
'vtkmodules.vtkWebGLExporter': [
|
||||
'vtkmodules.vtkIOExport',
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
def add_vtkmodules_dependencies(hook_file):
|
||||
# Find the module underlying this vtkmodules hook: change `/path/to/hook-vtkmodules.blah.py` to `vtkmodules.blah`.
|
||||
hook_name, hook_ext = os.path.splitext(os.path.basename(hook_file))
|
||||
assert hook_ext.startswith('.py')
|
||||
assert hook_name.startswith('hook-')
|
||||
module_name = hook_name[5:]
|
||||
|
||||
# Look up the list of hidden imports.
|
||||
return ["vtkmodules.vtkCommonCore", *_module_dependencies.get(module_name, [])]
|
||||
Reference in New Issue
Block a user