Add main.py

parent bd00481b
...@@ -75,6 +75,22 @@ hidden_imports = [ ...@@ -75,6 +75,22 @@ hidden_imports = [
'app.utils.logging', 'app.utils.logging',
'app.models', 'app.models',
'app.database', 'app.database',
# NumPy specific imports
'numpy',
'numpy.core',
'numpy.core._multiarray_umath',
'numpy.core._dtype_ctypes',
'numpy.random',
'numpy.random.common',
'numpy.random.bounded_integers',
'numpy.random.entropy',
'numpy.random.mtrand',
'numpy.random._sfc64',
'numpy.random._philox',
'numpy.random._pcg64',
'numpy.random._mt19937',
'numpy.random.bit_generator',
'numpy.random._generator',
] ]
# Data files to include # Data files to include
...@@ -96,7 +112,7 @@ a = Analysis( ...@@ -96,7 +112,7 @@ a = Analysis(
binaries=binaries, binaries=binaries,
datas=datas, datas=datas,
hiddenimports=hidden_imports, hiddenimports=hidden_imports,
hookspath=[], hookspath=['hooks'],
hooksconfig={}, hooksconfig={},
runtime_hooks=[], runtime_hooks=[],
excludes=[ excludes=[
...@@ -123,7 +139,6 @@ a = Analysis( ...@@ -123,7 +139,6 @@ a = Analysis(
'doctest', 'doctest',
'pdb', 'pdb',
'pydoc', 'pydoc',
'typing', # Exclude typing package to avoid PyInstaller conflict
], ],
win_no_prefer_redirects=False, win_no_prefer_redirects=False,
win_private_assemblies=False, win_private_assemblies=False,
......
...@@ -58,19 +58,21 @@ hiddenimports += [ ...@@ -58,19 +58,21 @@ hiddenimports += [
# Add numpy ctypes files that are often missing # Add numpy ctypes files that are often missing
import numpy as np import numpy as np
import os import os
import glob
# Get numpy directory # Get numpy directory
numpy_dir = os.path.dirname(np.__file__) numpy_dir = os.path.dirname(np.__file__)
# Add ctypes files # Add core files (including _core)
ctypes_dir = os.path.join(numpy_dir, 'core', 'include', 'numpy') core_dir = os.path.join(numpy_dir, 'core')
if os.path.exists(ctypes_dir): if os.path.exists(core_dir):
datas.append((ctypes_dir, 'numpy/core/include/numpy')) datas.append((core_dir, 'numpy/core'))
# Add lib files # Add specific _core files that might be missing
lib_dir = os.path.join(numpy_dir, 'core', 'lib') core_files = glob.glob(os.path.join(numpy_dir, 'core', '_core*'))
if os.path.exists(lib_dir): for core_file in core_files:
datas.append((lib_dir, 'numpy/core/lib')) if os.path.isfile(core_file):
datas.append((core_file, os.path.join('numpy', 'core', os.path.basename(core_file))))
# Add random files # Add random files
random_dir = os.path.join(numpy_dir, 'random') random_dir = os.path.join(numpy_dir, 'random')
......
#!/usr/bin/env python3
"""
Main entry point for running the Fixture Manager daemon from source
without needing to build the PyInstaller executable.
"""
import sys
import os
from pathlib import Path
# Add the project root to Python path
project_root = Path(__file__).parent
sys.path.insert(0, str(project_root))
from fixture_daemon import main
if __name__ == '__main__':
main()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment