Files
aufbau2csv/venv3_12/Lib/site-packages/cx_Freeze/hooks/sklearn.py

34 lines
1.1 KiB
Python

"""A collection of functions which are triggered automatically by finder when
scikit-learn package is included.
"""
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from cx_Freeze.finder import ModuleFinder
from cx_Freeze.module import Module
def load_sklearn__distributor_init(
finder: ModuleFinder, module: Module
) -> None:
"""Fix the location of dependent files in Windows."""
source_dir = module.parent.path[0] / ".libs"
if source_dir.exists():
# msvcp140 and vcomp140 dlls should be copied
finder.include_files(source_dir, "lib")
# patch the code to search the correct directory
code_string = module.file.read_text(encoding="utf_8")
code_string = code_string.replace(
"libs_path =", "libs_path = __import__('sys').frozen_dir #"
)
module.code = compile(
code_string,
module.file.as_posix(),
"exec",
dont_inherit=True,
optimize=finder.optimize,
)