34 lines
1.1 KiB
Python
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,
|
|
)
|